def test_list_instance_configs_w_options(self): from google.cloud.spanner_admin_instance_v1.gapic import instance_admin_client from google.cloud.spanner_admin_instance_v1.proto import ( spanner_instance_admin_pb2, ) api = instance_admin_client.InstanceAdminClient(mock.Mock()) credentials = _make_credentials() client = self._make_one(project=self.PROJECT, credentials=credentials) client._instance_admin_api = api instance_config_pbs = spanner_instance_admin_pb2.ListInstanceConfigsResponse( instance_configs=[ spanner_instance_admin_pb2.InstanceConfig( name=self.CONFIGURATION_NAME, display_name=self.DISPLAY_NAME) ]) lic_api = api._inner_api_calls["list_instance_configs"] = mock.Mock( return_value=instance_config_pbs) token = "token" page_size = 42 list(client.list_instance_configs(page_token=token, page_size=42)) expected_metadata = [ ("google-cloud-resource-prefix", client.project_name), ("x-goog-request-params", "parent={}".format(client.project_name)), ] lic_api.assert_called_once_with( spanner_instance_admin_pb2.ListInstanceConfigsRequest( parent=self.PATH, page_size=page_size, page_token=token), metadata=expected_metadata, retry=mock.ANY, timeout=mock.ANY, )
def test_get_instance_config(self, mock_create_stub): # Mock gRPC layer grpc_stub = mock.Mock() mock_create_stub.return_value = grpc_stub client = spanner_admin_instance_v1.InstanceAdminClient() # Mock request name = client.instance_config_path('[PROJECT]', '[INSTANCE_CONFIG]') # Mock response name_2 = 'name2-1052831874' display_name = 'displayName1615086568' expected_response = {'name': name_2, 'display_name': display_name} expected_response = spanner_instance_admin_pb2.InstanceConfig( **expected_response) grpc_stub.GetInstanceConfig.return_value = expected_response response = client.get_instance_config(name) self.assertEqual(expected_response, response) grpc_stub.GetInstanceConfig.assert_called_once() args, kwargs = grpc_stub.GetInstanceConfig.call_args self.assertEqual(len(args), 2) self.assertEqual(len(kwargs), 1) self.assertIn('metadata', kwargs) actual_request = args[0] expected_request = spanner_instance_admin_pb2.GetInstanceConfigRequest( name=name) self.assertEqual(expected_request, actual_request)
def test_get_instance_config(self): # Setup Expected Response name_2 = "name2-1052831874" display_name = "displayName1615086568" expected_response = {"name": name_2, "display_name": display_name} expected_response = spanner_instance_admin_pb2.InstanceConfig( **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 = spanner_admin_instance_v1.InstanceAdminClient() # Setup Request name = client.instance_config_path("[PROJECT]", "[INSTANCE_CONFIG]") response = client.get_instance_config(name) assert expected_response == response assert len(channel.requests) == 1 expected_request = spanner_instance_admin_pb2.GetInstanceConfigRequest( name=name ) actual_request = channel.requests[0][1] assert expected_request == actual_request
def test_list_instance_configs_w_options(self): from google.cloud.spanner_admin_instance_v1.gapic import ( instance_admin_client) from google.cloud.spanner_admin_instance_v1.proto import ( spanner_instance_admin_pb2) api = instance_admin_client.InstanceAdminClient(mock.Mock()) credentials = _make_credentials() client = self._make_one(project=self.PROJECT, credentials=credentials) client._instance_admin_api = api instance_config_pbs = ( spanner_instance_admin_pb2.ListInstanceConfigsResponse( instance_configs=[ spanner_instance_admin_pb2.InstanceConfig( name=self.CONFIGURATION_NAME, display_name=self.DISPLAY_NAME), ])) api._list_instance_configs = mock.Mock( return_value=instance_config_pbs) token = 'token' page_size = 42 list(client.list_instance_configs(page_token=token, page_size=42)) api._list_instance_configs.assert_called_once_with( spanner_instance_admin_pb2.ListInstanceConfigsRequest( parent=self.PATH, page_size=page_size, page_token=token), metadata=[('google-cloud-resource-prefix', client.project_name)], retry=mock.ANY, timeout=mock.ANY)
def test_get_instance_config(self): # Setup Expected Response name_2 = 'name2-1052831874' display_name = 'displayName1615086568' expected_response = {'name': name_2, 'display_name': display_name} expected_response = spanner_instance_admin_pb2.InstanceConfig( **expected_response) # Mock the API response channel = ChannelStub(responses=[expected_response]) client = spanner_admin_instance_v1.InstanceAdminClient(channel=channel) # Setup Request name = client.instance_config_path('[PROJECT]', '[INSTANCE_CONFIG]') response = client.get_instance_config(name) assert expected_response == response assert len(channel.requests) == 1 expected_request = spanner_instance_admin_pb2.GetInstanceConfigRequest( name=name) actual_request = channel.requests[0][1] assert expected_request == actual_request
def test_list_instance_configs(self): from google.cloud.spanner_admin_instance_v1.gapic import ( instance_admin_client) from google.cloud.spanner_admin_instance_v1.proto import ( spanner_instance_admin_pb2) from google.cloud.spanner_v1.client import InstanceConfig api = instance_admin_client.InstanceAdminClient(mock.Mock()) credentials = _make_credentials() client = self._make_one(project=self.PROJECT, credentials=credentials) client._instance_admin_api = api instance_config_pbs = ( spanner_instance_admin_pb2.ListInstanceConfigsResponse( instance_configs=[ spanner_instance_admin_pb2.InstanceConfig( name=self.CONFIGURATION_NAME, display_name=self.DISPLAY_NAME), ])) api._list_instance_configs = mock.Mock( return_value=instance_config_pbs) response = client.list_instance_configs() instance_configs = list(response) instance_config = instance_configs[0] self.assertIsInstance(instance_config, InstanceConfig) self.assertEqual(instance_config.name, self.CONFIGURATION_NAME) self.assertEqual(instance_config.display_name, self.DISPLAY_NAME) api._list_instance_configs.assert_called_once_with( spanner_instance_admin_pb2.ListInstanceConfigsRequest( parent=self.PATH), metadata=[('google-cloud-resource-prefix', client.project_name)], retry=mock.ANY, timeout=mock.ANY)