def test_restore_crypto_key_version(self): # Setup Expected Response name_2 = "name2-1052831874" expected_response = {"name": name_2} expected_response = resources_pb2.CryptoKeyVersion(**expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) patch = mock.patch("google.api_core.grpc_helpers.create_channel") with patch as create_channel: create_channel.return_value = channel client = kms_v1.KeyManagementServiceClient() # Setup Request name = client.crypto_key_version_path( "[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]", "[CRYPTO_KEY_VERSION]", ) response = client.restore_crypto_key_version(name) assert expected_response == response assert len(channel.requests) == 1 expected_request = service_pb2.RestoreCryptoKeyVersionRequest( name=name) actual_request = channel.requests[0][1] assert expected_request == actual_request
def test_update_crypto_key_version(self): # Setup Expected Response name = "name3373707" expected_response = {"name": name} expected_response = resources_pb2.CryptoKeyVersion(**expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) patch = mock.patch("google.api_core.grpc_helpers.create_channel") with patch as create_channel: create_channel.return_value = channel client = kms_v1.KeyManagementServiceClient() # Setup Request crypto_key_version = {} update_mask = {} response = client.update_crypto_key_version(crypto_key_version, update_mask) assert expected_response == response assert len(channel.requests) == 1 expected_request = service_pb2.UpdateCryptoKeyVersionRequest( crypto_key_version=crypto_key_version, update_mask=update_mask) actual_request = channel.requests[0][1] assert expected_request == actual_request
def test_import_crypto_key_version(self): # Setup Expected Response name = "name3373707" import_job_2 = "importJob2-1714851050" import_failure_reason = "importFailureReason-494073229" expected_response = { "name": name, "import_job": import_job_2, "import_failure_reason": import_failure_reason, } expected_response = resources_pb2.CryptoKeyVersion(**expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) patch = mock.patch("google.api_core.grpc_helpers.create_channel") with patch as create_channel: create_channel.return_value = channel client = kms_v1.KeyManagementServiceClient() # Setup Request parent = client.crypto_key_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") algorithm = (enums.CryptoKeyVersion.CryptoKeyVersionAlgorithm. CRYPTO_KEY_VERSION_ALGORITHM_UNSPECIFIED) import_job = "importJob2125587491" response = client.import_crypto_key_version(parent, algorithm, import_job) assert expected_response == response assert len(channel.requests) == 1 expected_request = service_pb2.ImportCryptoKeyVersionRequest( parent=parent, algorithm=algorithm, import_job=import_job) actual_request = channel.requests[0][1] assert expected_request == actual_request
def test_create_crypto_key_version(self): # Setup Expected Response name = "name3373707" import_job = "importJob2125587491" import_failure_reason = "importFailureReason-494073229" expected_response = { "name": name, "import_job": import_job, "import_failure_reason": import_failure_reason, } expected_response = resources_pb2.CryptoKeyVersion(**expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) patch = mock.patch("google.api_core.grpc_helpers.create_channel") with patch as create_channel: create_channel.return_value = channel client = kms_v1.KeyManagementServiceClient() # Setup Request parent = client.crypto_key_path("[PROJECT]", "[LOCATION]", "[KEY_RING]", "[CRYPTO_KEY]") crypto_key_version = {} response = client.create_crypto_key_version(parent, crypto_key_version) assert expected_response == response assert len(channel.requests) == 1 expected_request = service_pb2.CreateCryptoKeyVersionRequest( parent=parent, crypto_key_version=crypto_key_version) actual_request = channel.requests[0][1] assert expected_request == actual_request
def test_create_crypto_key_version(self): # Setup Expected Response name = 'name3373707' expected_response = {'name': name} expected_response = resources_pb2.CryptoKeyVersion(**expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) patch = mock.patch('google.api_core.grpc_helpers.create_channel') with patch as create_channel: create_channel.return_value = channel client = kms_v1.KeyManagementServiceClient() # Setup Request parent = client.crypto_key_path('[PROJECT]', '[LOCATION]', '[KEY_RING]', '[CRYPTO_KEY]') crypto_key_version = {} response = client.create_crypto_key_version(parent, crypto_key_version) assert expected_response == response assert len(channel.requests) == 1 expected_request = service_pb2.CreateCryptoKeyVersionRequest( parent=parent, crypto_key_version=crypto_key_version) actual_request = channel.requests[0][1] assert expected_request == actual_request
def enable_key_version(project_id, location_id, key_ring_id, key_id, version_id): """ Enable a key. Args: project_id (string): Google Cloud project ID (e.g. 'my-project'). location_id (string): Cloud KMS location (e.g. 'us-east1'). key_ring_id (string): ID of the Cloud KMS key ring (e.g. 'my-key-ring'). key_id (string): ID of the key to use (e.g. 'my-key'). version_id (string): ID of the key version to enable (e.g. '1'). Returns: CryptoKeyVersion: The version. """ # Import the client library. from google.cloud import kms # Create the client. client = kms.KeyManagementServiceClient() # Build the key version name. key_version_name = client.crypto_key_version_path(project_id, location_id, key_ring_id, key_id, version_id) # Build the key version. We need to build a full proto instead of a dict due # to https://github.com/googleapis/gapic-generator-python/issues/364. from google.cloud.kms_v1.proto import resources_pb2 key_version = resources_pb2.CryptoKeyVersion() key_version.name = key_version_name key_version.state = kms.enums.CryptoKeyVersion.CryptoKeyVersionState.ENABLED # Build the update mask. update_mask = {'paths': ['state']} # Call the API. enabled_version = client.update_crypto_key_version(key_version, update_mask) print('Enabled key version: {}'.format(enabled_version.name)) return enabled_version
def test_get_crypto_key_version(self): # Setup Expected Response name_2 = 'name2-1052831874' expected_response = {'name': name_2} expected_response = resources_pb2.CryptoKeyVersion(**expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) client = kms_v1.KeyManagementServiceClient(channel=channel) # Setup Request name = client.crypto_key_version_path('[PROJECT]', '[LOCATION]', '[KEY_RING]', '[CRYPTO_KEY]', '[CRYPTO_KEY_VERSION]') response = client.get_crypto_key_version(name) assert expected_response == response assert len(channel.requests) == 1 expected_request = service_pb2.GetCryptoKeyVersionRequest(name=name) actual_request = channel.requests[0][1] assert expected_request == actual_request
def test_update_crypto_key_version(self): # Setup Expected Response name = 'name3373707' expected_response = {'name': name} expected_response = resources_pb2.CryptoKeyVersion(**expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) client = kms_v1.KeyManagementServiceClient(channel=channel) # Setup Request crypto_key_version = {} update_mask = {} response = client.update_crypto_key_version(crypto_key_version, update_mask) assert expected_response == response assert len(channel.requests) == 1 expected_request = service_pb2.UpdateCryptoKeyVersionRequest( crypto_key_version=crypto_key_version, update_mask=update_mask) actual_request = channel.requests[0][1] assert expected_request == actual_request