def test_generate_rsa_if_needed_waits_for_creation(self): mock_isfile = self.patch(maas_certificates.os.path, "isfile") mock_isfile.side_effect = [False, False, True, True] mock_sleep = self.patch(maas_certificates, "sleep") with NamedLock("RSA"): self.assertTrue(maas_certificates.generate_rsa_keys_if_needed()) self.assertThat(mock_sleep, MockCalledOnce())
def test_generate_rsa_if_needed_does_nothing(self): mock_pkey = self.patch(maas_certificates.crypto, "PKey") open(maas_certificates.MAAS_PRIVATE_KEY, "w").close() self.assertFalse(maas_certificates.generate_rsa_keys_if_needed()) self.assertThat(mock_pkey, MockNotCalled())
def test_generate_rsa_if_needed(self): self.assertTrue(maas_certificates.generate_rsa_keys_if_needed()) self.assertTrue(os.path.exists(maas_certificates.MAAS_PRIVATE_KEY)) self.assertTrue(os.path.exists(maas_certificates.MAAS_PUBLIC_KEY)) self.assertFalse(os.path.exists(maas_certificates.MAAS_CERTIFICATE))