def _update_test_helper(self, gc_rule=None): from tests.unit._testing import _FakeStub from google.cloud.bigtable_admin_v2.proto import ( bigtable_table_admin_pb2 as table_admin_v2_pb2, ) from google.cloud.bigtable_admin_v2.gapic import bigtable_table_admin_client project_id = "project-id" zone = "zone" cluster_id = "cluster-id" table_id = "table-id" column_family_id = "column-family-id" table_name = ( "projects/" + project_id + "/zones/" + zone + "/clusters/" + cluster_id + "/tables/" + table_id ) api = bigtable_table_admin_client.BigtableTableAdminClient(mock.Mock()) credentials = _make_credentials() client = self._make_client( project=project_id, credentials=credentials, admin=True ) table = _Table(table_name, client=client) column_family = self._make_one(column_family_id, table, gc_rule=gc_rule) # Create request_pb if gc_rule is None: column_family_pb = _ColumnFamilyPB() else: column_family_pb = _ColumnFamilyPB(gc_rule=gc_rule.to_pb()) request_pb = table_admin_v2_pb2.ModifyColumnFamiliesRequest(name=table_name) request_pb.modifications.add(id=column_family_id, update=column_family_pb) # Create response_pb response_pb = _ColumnFamilyPB() # Patch the stub used by the API method. stub = _FakeStub(response_pb) client._table_admin_client = api client._table_admin_client.transport.update = stub # Create expected_result. expected_result = None # update() has no return value. # Perform the method and check the result. self.assertEqual(stub.results, (response_pb,)) result = column_family.update() self.assertEqual(result, expected_result)
def test_property_source_table_valid(self): from google.cloud.bigtable.client import Client from google.cloud.bigtable_admin_v2.gapic import bigtable_table_admin_client api = bigtable_table_admin_client.BigtableTableAdminClient(mock.Mock()) credentials = _make_credentials() client = Client(project=self.PROJECT_ID, credentials=credentials, admin=True) client._table_admin_client = api instance = _Instance(self.INSTANCE_NAME, client) backup = self._make_one(self.BACKUP_ID, instance, table_id=self.TABLE_ID) self.assertEqual(backup.source_table, self.TABLE_NAME)
def test_property_parent_w_cluster(self): from google.cloud.bigtable.client import Client from google.cloud.bigtable_admin_v2.gapic import bigtable_table_admin_client api = bigtable_table_admin_client.BigtableTableAdminClient(mock.Mock()) credentials = _make_credentials() client = Client(project=self.PROJECT_ID, credentials=credentials, admin=True) client._table_admin_client = api instance = _Instance(self.INSTANCE_NAME, client) backup = self._make_one(self.BACKUP_ID, instance, cluster_id=self.CLUSTER_ID) self.assertEqual(backup._cluster, self.CLUSTER_ID) self.assertEqual(backup.parent, self.CLUSTER_NAME)
def test_delete(self): from google.protobuf import empty_pb2 from google.cloud.bigtable_admin_v2.proto import ( bigtable_table_admin_pb2 as table_admin_v2_pb2) from tests.unit._testing import _FakeStub from google.cloud.bigtable_admin_v2.gapic import ( bigtable_table_admin_client) project_id = 'project-id' zone = 'zone' cluster_id = 'cluster-id' table_id = 'table-id' column_family_id = 'column-family-id' table_name = ('projects/' + project_id + '/zones/' + zone + '/clusters/' + cluster_id + '/tables/' + table_id) api = bigtable_table_admin_client.BigtableTableAdminClient(mock.Mock()) credentials = _make_credentials() client = self._make_client(project=project_id, credentials=credentials, admin=True) table = _Table(table_name, client=client) column_family = self._make_one(column_family_id, table) # Create request_pb request_pb = table_admin_v2_pb2.ModifyColumnFamiliesRequest( name=table_name) request_pb.modifications.add( id=column_family_id, drop=True) # Create response_pb response_pb = empty_pb2.Empty() # Patch the stub used by the API method. stub = _FakeStub(response_pb) client._table_admin_client = api client._table_admin_client.transport.delete = stub # Create expected_result. expected_result = None # delete() has no return value. # Perform the method and check the result. self.assertEqual(stub.results, (response_pb,)) result = column_family.delete() self.assertEqual(result, expected_result)
def _list_tables_helper(self, table_name=None): from google.cloud.bigtable_admin_v2.proto import ( table_pb2 as table_data_v2_pb2) from google.cloud.bigtable_admin_v2.proto import ( bigtable_table_admin_pb2 as table_messages_v1_pb2) from google.cloud.bigtable_admin_v2.gapic import ( bigtable_table_admin_client, bigtable_instance_admin_client) table_api = bigtable_table_admin_client.BigtableTableAdminClient( mock.Mock()) instance_api = ( bigtable_instance_admin_client.BigtableInstanceAdminClient( mock.Mock())) credentials = _make_credentials() client = self._make_client(project=self.PROJECT, credentials=credentials, admin=True) instance = self._make_one(self.INSTANCE_ID, client) # Create response_pb if table_name is None: table_name = self.TABLE_NAME response_pb = table_messages_v1_pb2.ListTablesResponse( tables=[ table_data_v2_pb2.Table(name=table_name), ], ) # Patch the stub used by the API method. client._table_admin_client = table_api client._instance_admin_client = instance_api bigtable_table_stub = ( client._table_admin_client.transport) bigtable_table_stub.list_tables.side_effect = [response_pb] # Create expected_result. expected_table = instance.table(self.TABLE_ID) expected_result = [expected_table] # Perform the method and check the result. result = instance.list_tables() self.assertEqual(result, expected_result)