async def test_get_pending_certificate_signing_request( self, vault_client, **kwargs): self.assertIsNotNone(vault_client) client = vault_client.certificates cert_name = "unknownIssuerCert" cert_policy = CertificatePolicyGenerated( key_properties=KeyProperties(exportable=True, key_type='RSA', key_size=2048, reuse_key=False), secret_properties=SecretProperties( content_type='application/x-pkcs12'), issuer_parameters=IssuerParameters(name='Self'), x509_certificate_properties=X509CertificateProperties( subject='CN=*.microsoft.com', subject_alternative_names=SubjectAlternativeNames( dns_names=['sdk.azure-int.net']), validity_in_months=24)) # get pending certificate signing request create_certificate_poller = await client.create_certificate( name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle( cert_policy)) await create_certificate_poller pending_version_csr = await client.get_pending_certificate_signing_request( name=cert_name) try: self.assertEqual( (await client.get_certificate_operation(name=cert_name)).csr, pending_version_csr) except Exception as ex: pass finally: await client.delete_certificate(name=cert_name)
def test_get_pending_certificate_signing_request(self, vault_client, **kwargs): self.assertIsNotNone(vault_client) client = vault_client.certificates cert_name = "unknownIssuerCert" cert_policy = CertificatePolicyGenerated( key_properties=KeyProperties(exportable=True, key_type="RSA", key_size=2048, reuse_key=False), secret_properties=SecretProperties(content_type="application/x-pkcs12"), issuer_parameters=IssuerParameters(name="Self"), x509_certificate_properties=X509CertificateProperties( subject="CN=*.microsoft.com", subject_alternative_names=SubjectAlternativeNames(dns_names=["sdk.azure-int.net"]), validity_in_months=24, ), ) polling_interval = 0 if self.is_playback() else None # get pending certificate signing request certificate = client.begin_create_certificate( certificate_name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle(cert_policy), _polling_interval=polling_interval ).wait() pending_version_csr = client.get_certificate_operation(certificate_name=cert_name).csr try: self.assertEqual(client.get_certificate_operation(certificate_name=cert_name).csr, pending_version_csr) except Exception as ex: pass finally: client.begin_delete_certificate(certificate_name=cert_name)
async def test_async_request_cancellation_and_deletion( self, vault_client, **kwargs): self.assertIsNotNone(vault_client) client = vault_client.certificates cert_name = 'asyncCanceledDeletedCert' cert_policy = CertificatePolicyGenerated( key_properties=KeyProperties(exportable=True, key_type='RSA', key_size=2048, reuse_key=False), secret_properties=SecretProperties( content_type='application/x-pkcs12'), issuer_parameters=IssuerParameters(name='Self'), x509_certificate_properties=X509CertificateProperties( subject='CN=*.microsoft.com', subject_alternative_names=SubjectAlternativeNames( dns_names=['sdk.azure-int.net']), validity_in_months=24)) # create certificate create_certificate_poller = await client.create_certificate( name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle( cert_policy)) # cancel certificate operation cancel_operation = await client.cancel_certificate_operation( name=cert_name) self.assertTrue(hasattr(cancel_operation, 'cancellation_requested')) self.assertTrue(cancel_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=cancel_operation, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy) self.assertEqual((await create_certificate_poller).status.lower(), 'cancelled') retrieved_operation = await client.get_certificate_operation( name=cert_name) self.assertTrue(hasattr(retrieved_operation, 'cancellation_requested')) self.assertTrue(retrieved_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=retrieved_operation, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy) # delete certificate operation deleted_operation = await client.delete_certificate_operation( name=cert_name) self.assertIsNotNone(deleted_operation) self._validate_certificate_operation( pending_cert_operation=deleted_operation, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy) try: await client.get_certificate_operation(name=cert_name) self.fail('Get should fail') except Exception as ex: if not hasattr(ex, 'message') or 'not found' not in ex.message.lower(): raise ex # delete cancelled certificate await client.delete_certificate(cert_name)
async def test_async_request_cancellation_and_deletion( self, vault_client, **kwargs): self.assertIsNotNone(vault_client) client = vault_client.certificates cert_name = "asyncCanceledDeletedCert" cert_policy = CertificatePolicyGenerated( key_properties=KeyProperties(exportable=True, key_type="RSA", key_size=2048, reuse_key=False), secret_properties=SecretProperties( content_type="application/x-pkcs12"), issuer_parameters=IssuerParameters(name="Unknown"), x509_certificate_properties=X509CertificateProperties( subject="CN=*.microsoft.com", subject_alternative_names=SubjectAlternativeNames( dns_names=["sdk.azure-int.net"]), validity_in_months=24, ), ) polling_interval = 0 if self.is_playback() else None # create certificate await client.create_certificate( certificate_name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle( cert_policy), _polling_interval=polling_interval) # cancel certificate operation cancel_operation = await client.cancel_certificate_operation(cert_name) self.assertTrue(hasattr(cancel_operation, "cancellation_requested")) self.assertTrue(cancel_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=cancel_operation, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy, ) cancelled = False for _ in range(10): if (await client.get_certificate_operation(cert_name) ).status.lower() == "cancelled": cancelled = True break await asyncio.sleep(10) self.assertTrue(cancelled) retrieved_operation = await client.get_certificate_operation( certificate_name=cert_name) self.assertTrue(hasattr(retrieved_operation, "cancellation_requested")) self.assertTrue(retrieved_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=retrieved_operation, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy, ) # delete certificate operation deleted_operation = await client.delete_certificate_operation(cert_name ) self.assertIsNotNone(deleted_operation) self._validate_certificate_operation( pending_cert_operation=deleted_operation, vault=client.vault_url, cert_name=cert_name, cert_policy=cert_policy, ) try: await client.get_certificate_operation(certificate_name=cert_name) self.fail("Get should fail") except Exception as ex: if not hasattr(ex, "message") or "not found" not in ex.message.lower(): raise ex # delete cancelled certificate await client.delete_certificate(cert_name, _polling_interval=polling_interval)
def test_async_request_cancellation_and_deletion(self, vault_client, **kwargs): self.assertIsNotNone(vault_client) client = vault_client.certificates cert_name = "asyncCanceledDeletedCert" cert_policy = CertificatePolicyGenerated( key_properties=KeyProperties(exportable=True, key_type="RSA", key_size=2048, reuse_key=False), secret_properties=SecretProperties( content_type="application/x-pkcs12"), issuer_parameters=IssuerParameters(name="Self"), x509_certificate_properties=X509CertificateProperties( subject="CN=*.microsoft.com", subject_alternative_names=SubjectAlternativeNames( dns_names=["sdk.azure-int.net"]), validity_in_months=24, ), ) # create certificate create_certificate_poller = client.begin_create_certificate( name=cert_name, policy=CertificatePolicy._from_certificate_policy_bundle( cert_policy)) # cancel certificate operation cancel_operation = client.cancel_certificate_operation(name=cert_name) self.assertTrue(hasattr(cancel_operation, "cancellation_requested")) self.assertTrue(cancel_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=cancel_operation, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) self.assertEqual(create_certificate_poller.result().status.lower(), "cancelled") retrieved_operation = client.get_certificate_operation(name=cert_name) self.assertTrue(hasattr(retrieved_operation, "cancellation_requested")) self.assertTrue(retrieved_operation.cancellation_requested) self._validate_certificate_operation( pending_cert_operation=retrieved_operation, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) # delete certificate operation deleted_operation = client.delete_certificate_operation(name=cert_name) self.assertIsNotNone(deleted_operation) self._validate_certificate_operation( pending_cert_operation=deleted_operation, vault=client.vault_endpoint, cert_name=cert_name, cert_policy=cert_policy, ) try: client.get_certificate_operation(name=cert_name) self.fail("Get should fail") except Exception as ex: if not hasattr(ex, "message") or "not found" not in ex.message.lower(): raise ex # delete cancelled certificate client.delete_certificate(cert_name)