def test_get_database_ddl(self, mock_create_stub): # Mock gRPC layer grpc_stub = mock.Mock() mock_create_stub.return_value = grpc_stub client = database_admin_client.DatabaseAdminClient() # Mock request database = client.database_path('[PROJECT]', '[INSTANCE]', '[DATABASE]') # Mock response expected_response = spanner_database_admin_pb2.GetDatabaseDdlResponse() grpc_stub.GetDatabaseDdl.return_value = expected_response response = client.get_database_ddl(database) self.assertEqual(expected_response, response) grpc_stub.GetDatabaseDdl.assert_called_once() args, kwargs = grpc_stub.GetDatabaseDdl.call_args self.assertEqual(len(args), 2) self.assertEqual(len(kwargs), 1) self.assertIn('metadata', kwargs) actual_request = args[0] expected_request = spanner_database_admin_pb2.GetDatabaseDdlRequest( database=database) self.assertEqual(expected_request, actual_request)
def test_exists_success(self): from google.cloud.proto.spanner.admin.database.v1 import ( spanner_database_admin_pb2 as admin_v1_pb2) from tests._fixtures import DDL_STATEMENTS client = _Client() ddl_pb = admin_v1_pb2.GetDatabaseDdlResponse(statements=DDL_STATEMENTS) api = client.database_admin_api = _FauxDatabaseAdminAPI( _get_database_ddl_response=ddl_pb) instance = _Instance(self.INSTANCE_NAME, client=client) pool = _Pool() database = self._make_one(self.DATABASE_ID, instance, pool=pool) self.assertTrue(database.exists()) name, options = api._got_database_ddl self.assertEqual(name, self.DATABASE_NAME) self.assertEqual(options.kwargs['metadata'], [('google-cloud-resource-prefix', database.name)])