Skip to content

Commit 9c48fc6

Browse files
authored
fix: use public 'table_admin_client' property in backups methods (#359)
* fix: call table_admin_client in backups methods * fix other tests * add system test
1 parent eb2ef42 commit 9c48fc6

3 files changed

Lines changed: 25 additions & 22 deletions

File tree

packages/google-cloud-bigtable/google/cloud/bigtable/backup.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,7 @@ def create(self, cluster_id=None):
330330
expire_time=_datetime_to_pb_timestamp(self.expire_time),
331331
)
332332

333-
api = self._instance._client._table_admin_client
333+
api = self._instance._client.table_admin_client
334334
return api.create_backup(
335335
request={
336336
"parent": self.parent,
@@ -351,7 +351,7 @@ def get(self):
351351
due to a retryable error and retry attempts failed.
352352
:raises ValueError: If the parameters are invalid.
353353
"""
354-
api = self._instance._client._table_admin_client
354+
api = self._instance._client.table_admin_client
355355
try:
356356
return api.get_backup(request={"name": self.name})
357357
except NotFound:
@@ -385,13 +385,13 @@ def update_expire_time(self, new_expire_time):
385385
name=self.name, expire_time=_datetime_to_pb_timestamp(new_expire_time),
386386
)
387387
update_mask = field_mask_pb2.FieldMask(paths=["expire_time"])
388-
api = self._instance._client._table_admin_client
388+
api = self._instance._client.table_admin_client
389389
api.update_backup(request={"backup": backup_update, "update_mask": update_mask})
390390
self._expire_time = new_expire_time
391391

392392
def delete(self):
393393
"""Delete this Backup."""
394-
self._instance._client._table_admin_client.delete_backup(
394+
self._instance._client.table_admin_client.delete_backup(
395395
request={"name": self.name}
396396
)
397397

@@ -423,7 +423,7 @@ def restore(self, table_id, instance_id=None):
423423
due to a retryable error and retry attempts failed.
424424
:raises: ValueError: If the parameters are invalid.
425425
"""
426-
api = self._instance._client._table_admin_client
426+
api = self._instance._client.table_admin_client
427427
if instance_id:
428428
parent = BigtableTableAdminClient.instance_path(
429429
project=self._instance._client.project, instance=instance_id,

packages/google-cloud-bigtable/tests/system.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1080,6 +1080,9 @@ def test_backup(self):
10801080
expire_time=datetime.datetime.utcfromtimestamp(expire),
10811081
)
10821082

1083+
# Reinitialize the admin client. This is to test `_table_admin_client` returns a client object (and not NoneType)
1084+
temp_backup._instance._client = Client(admin=True)
1085+
10831086
# Sanity check for `Backup.exists()` method
10841087
self.assertFalse(temp_backup.exists())
10851088

packages/google-cloud-bigtable/tests/unit/test_backup.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,7 @@ def test_create_grpc_error(self):
332332
from google.cloud.bigtable_admin_v2.types import table
333333

334334
client = _Client()
335-
api = client._table_admin_client = self._make_table_admin_client()
335+
api = client.table_admin_client = self._make_table_admin_client()
336336
api.create_backup.side_effect = Unknown("testing")
337337

338338
timestamp = self._make_timestamp()
@@ -365,7 +365,7 @@ def test_create_already_exists(self):
365365
from google.cloud.exceptions import Conflict
366366

367367
client = _Client()
368-
api = client._table_admin_client = self._make_table_admin_client()
368+
api = client.table_admin_client = self._make_table_admin_client()
369369
api.create_backup.side_effect = Conflict("testing")
370370

371371
timestamp = self._make_timestamp()
@@ -398,7 +398,7 @@ def test_create_instance_not_found(self):
398398
from google.cloud.exceptions import NotFound
399399

400400
client = _Client()
401-
api = client._table_admin_client = self._make_table_admin_client()
401+
api = client.table_admin_client = self._make_table_admin_client()
402402
api.create_backup.side_effect = NotFound("testing")
403403

404404
timestamp = self._make_timestamp()
@@ -494,7 +494,7 @@ def test_exists_grpc_error(self):
494494
from google.api_core.exceptions import Unknown
495495

496496
client = _Client()
497-
api = client._table_admin_client = self._make_table_admin_client()
497+
api = client.table_admin_client = self._make_table_admin_client()
498498
api.get_backup.side_effect = Unknown("testing")
499499

500500
instance = _Instance(self.INSTANCE_NAME, client=client)
@@ -510,7 +510,7 @@ def test_exists_not_found(self):
510510
from google.api_core.exceptions import NotFound
511511

512512
client = _Client()
513-
api = client._table_admin_client = self._make_table_admin_client()
513+
api = client.table_admin_client = self._make_table_admin_client()
514514
api.get_backup.side_effect = NotFound("testing")
515515

516516
instance = _Instance(self.INSTANCE_NAME, client=client)
@@ -537,7 +537,7 @@ def test_get(self):
537537
size_bytes=0,
538538
state=state,
539539
)
540-
api = client._table_admin_client = self._make_table_admin_client()
540+
api = client.table_admin_client = self._make_table_admin_client()
541541
api.get_backup.return_value = backup_pb
542542

543543
instance = _Instance(self.INSTANCE_NAME, client=client)
@@ -562,7 +562,7 @@ def test_reload(self):
562562
size_bytes=0,
563563
state=state,
564564
)
565-
api = client._table_admin_client = self._make_table_admin_client()
565+
api = client.table_admin_client = self._make_table_admin_client()
566566
api.get_backup.return_value = backup_pb
567567

568568
instance = _Instance(self.INSTANCE_NAME, client=client)
@@ -581,7 +581,7 @@ def test_exists_success(self):
581581

582582
client = _Client()
583583
backup_pb = table.Backup(name=self.BACKUP_NAME)
584-
api = client._table_admin_client = self._make_table_admin_client()
584+
api = client.table_admin_client = self._make_table_admin_client()
585585
api.get_backup.return_value = backup_pb
586586

587587
instance = _Instance(self.INSTANCE_NAME, client=client)
@@ -595,7 +595,7 @@ def test_delete_grpc_error(self):
595595
from google.api_core.exceptions import Unknown
596596

597597
client = _Client()
598-
api = client._table_admin_client = self._make_table_admin_client()
598+
api = client.table_admin_client = self._make_table_admin_client()
599599
api.delete_backup.side_effect = Unknown("testing")
600600
instance = _Instance(self.INSTANCE_NAME, client=client)
601601
backup = self._make_one(self.BACKUP_ID, instance, cluster_id=self.CLUSTER_ID)
@@ -609,7 +609,7 @@ def test_delete_not_found(self):
609609
from google.api_core.exceptions import NotFound
610610

611611
client = _Client()
612-
api = client._table_admin_client = self._make_table_admin_client()
612+
api = client.table_admin_client = self._make_table_admin_client()
613613
api.delete_backup.side_effect = NotFound("testing")
614614
instance = _Instance(self.INSTANCE_NAME, client=client)
615615
backup = self._make_one(self.BACKUP_ID, instance, cluster_id=self.CLUSTER_ID)
@@ -623,7 +623,7 @@ def test_delete_success(self):
623623
from google.protobuf.empty_pb2 import Empty
624624

625625
client = _Client()
626-
api = client._table_admin_client = self._make_table_admin_client()
626+
api = client.table_admin_client = self._make_table_admin_client()
627627
api.delete_backup.return_value = Empty()
628628
instance = _Instance(self.INSTANCE_NAME, client=client)
629629
backup = self._make_one(self.BACKUP_ID, instance, cluster_id=self.CLUSTER_ID)
@@ -639,7 +639,7 @@ def test_update_expire_time_grpc_error(self):
639639
from google.protobuf import field_mask_pb2
640640

641641
client = _Client()
642-
api = client._table_admin_client = self._make_table_admin_client()
642+
api = client.table_admin_client = self._make_table_admin_client()
643643
api.update_backup.side_effect = Unknown("testing")
644644
instance = _Instance(self.INSTANCE_NAME, client=client)
645645
backup = self._make_one(self.BACKUP_ID, instance, cluster_id=self.CLUSTER_ID)
@@ -663,7 +663,7 @@ def test_update_expire_time_not_found(self):
663663
from google.protobuf import field_mask_pb2
664664

665665
client = _Client()
666-
api = client._table_admin_client = self._make_table_admin_client()
666+
api = client.table_admin_client = self._make_table_admin_client()
667667
api.update_backup.side_effect = NotFound("testing")
668668
instance = _Instance(self.INSTANCE_NAME, client=client)
669669
backup = self._make_one(self.BACKUP_ID, instance, cluster_id=self.CLUSTER_ID)
@@ -686,7 +686,7 @@ def test_update_expire_time_success(self):
686686
from google.protobuf import field_mask_pb2
687687

688688
client = _Client()
689-
api = client._table_admin_client = self._make_table_admin_client()
689+
api = client.table_admin_client = self._make_table_admin_client()
690690
api.update_backup.return_type = table.Backup(name=self.BACKUP_NAME)
691691
instance = _Instance(self.INSTANCE_NAME, client=client)
692692
backup = self._make_one(self.BACKUP_ID, instance, cluster_id=self.CLUSTER_ID)
@@ -707,7 +707,7 @@ def test_restore_grpc_error(self):
707707
from google.api_core.exceptions import Unknown
708708

709709
client = _Client()
710-
api = client._table_admin_client = self._make_table_admin_client()
710+
api = client.table_admin_client = self._make_table_admin_client()
711711
api.restore_table.side_effect = Unknown("testing")
712712

713713
timestamp = self._make_timestamp()
@@ -732,7 +732,7 @@ def test_restore_grpc_error(self):
732732

733733
def test_restore_cluster_not_set(self):
734734
client = _Client()
735-
client._table_admin_client = self._make_table_admin_client()
735+
client.table_admin_client = self._make_table_admin_client()
736736
backup = self._make_one(
737737
self.BACKUP_ID,
738738
_Instance(self.INSTANCE_NAME, client=client),
@@ -746,7 +746,7 @@ def test_restore_cluster_not_set(self):
746746
def _restore_helper(self, instance_id=None, instance_name=None):
747747
op_future = object()
748748
client = _Client()
749-
api = client._table_admin_client = self._make_table_admin_client()
749+
api = client.table_admin_client = self._make_table_admin_client()
750750
api.restore_table.return_value = op_future
751751

752752
timestamp = self._make_timestamp()

0 commit comments

Comments
 (0)