def test_when_latest_key_differs_from_login_key(self): previous = ApplicationKey.get_latest() self.assertTrue(previous.formatted_public_key in "\n".join(self.login.get_authorized_keys())) latest = ApplicationKey.get_latest(create_new=True) keys = "\n".join(self.login.get_authorized_keys()) self.assertFalse(previous.formatted_public_key in keys) self.assertTrue(latest.formatted_public_key in keys)
def test_can_deploy_new_keys(self): latest = ApplicationKey.get_latest() self.assertEqual(self.login.get_application_key().pk, latest.pk) latest = ApplicationKey.get_latest(create_new=True) self.assertNotEqual(self.login.get_application_key().pk, latest.pk) sync_all() self.login = Login.objects.get(pk=self.login.pk) self.assertEqual(self.login.get_application_key().pk, latest.pk) self.assertTrue(self.login.run('echo')) # Can still connect populate_ssheepdog_key()
def test_get_latest_with_create(self): c = ApplicationKey.objects.create(public_key="C", private_key="C") latest = ApplicationKey.get_latest() self.assertEqual(c, latest) latest = ApplicationKey.get_latest(create_new=True) self.assertNotEqual(c, latest)
def test_get_latest(self): ApplicationKey.objects.create(public_key="A", private_key="A") ApplicationKey.objects.create(public_key="B", private_key="B") c = ApplicationKey.objects.create(public_key="C", private_key="C") latest = ApplicationKey.get_latest() self.assertEqual(c, latest)