Skip to content
This repository was archived by the owner on Apr 1, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions google/cloud/bigtable/backup.py
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ def create(self, cluster_id=None):
expire_time=_datetime_to_pb_timestamp(self.expire_time),
)

api = self._instance._client._table_admin_client
api = self._instance._client.table_admin_client
return api.create_backup(
request={
"parent": self.parent,
Expand All @@ -351,7 +351,7 @@ def get(self):
due to a retryable error and retry attempts failed.
:raises ValueError: If the parameters are invalid.
"""
api = self._instance._client._table_admin_client
api = self._instance._client.table_admin_client
try:
return api.get_backup(request={"name": self.name})
except NotFound:
Expand Down Expand Up @@ -385,13 +385,13 @@ def update_expire_time(self, new_expire_time):
name=self.name, expire_time=_datetime_to_pb_timestamp(new_expire_time),
)
update_mask = field_mask_pb2.FieldMask(paths=["expire_time"])
api = self._instance._client._table_admin_client
api = self._instance._client.table_admin_client
api.update_backup(request={"backup": backup_update, "update_mask": update_mask})
self._expire_time = new_expire_time

def delete(self):
"""Delete this Backup."""
self._instance._client._table_admin_client.delete_backup(
self._instance._client.table_admin_client.delete_backup(
request={"name": self.name}
)

Expand Down Expand Up @@ -423,7 +423,7 @@ def restore(self, table_id, instance_id=None):
due to a retryable error and retry attempts failed.
:raises: ValueError: If the parameters are invalid.
"""
api = self._instance._client._table_admin_client
api = self._instance._client.table_admin_client
if instance_id:
parent = BigtableTableAdminClient.instance_path(
project=self._instance._client.project, instance=instance_id,
Expand Down
3 changes: 3 additions & 0 deletions tests/system.py
Original file line number Diff line number Diff line change
Expand Up @@ -1080,6 +1080,9 @@ def test_backup(self):
expire_time=datetime.datetime.utcfromtimestamp(expire),
)

# Reinitialize the admin client. This is to test `_table_admin_client` returns a client object (and not NoneType)
temp_backup._instance._client = Client(admin=True)

# Sanity check for `Backup.exists()` method
self.assertFalse(temp_backup.exists())

Expand Down
34 changes: 17 additions & 17 deletions tests/unit/test_backup.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,7 @@ def test_create_grpc_error(self):
from google.cloud.bigtable_admin_v2.types import table

client = _Client()
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.create_backup.side_effect = Unknown("testing")

timestamp = self._make_timestamp()
Expand Down Expand Up @@ -365,7 +365,7 @@ def test_create_already_exists(self):
from google.cloud.exceptions import Conflict

client = _Client()
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.create_backup.side_effect = Conflict("testing")

timestamp = self._make_timestamp()
Expand Down Expand Up @@ -398,7 +398,7 @@ def test_create_instance_not_found(self):
from google.cloud.exceptions import NotFound

client = _Client()
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.create_backup.side_effect = NotFound("testing")

timestamp = self._make_timestamp()
Expand Down Expand Up @@ -494,7 +494,7 @@ def test_exists_grpc_error(self):
from google.api_core.exceptions import Unknown

client = _Client()
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.get_backup.side_effect = Unknown("testing")

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

client = _Client()
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.get_backup.side_effect = NotFound("testing")

instance = _Instance(self.INSTANCE_NAME, client=client)
Expand All @@ -537,7 +537,7 @@ def test_get(self):
size_bytes=0,
state=state,
)
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.get_backup.return_value = backup_pb

instance = _Instance(self.INSTANCE_NAME, client=client)
Expand All @@ -562,7 +562,7 @@ def test_reload(self):
size_bytes=0,
state=state,
)
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.get_backup.return_value = backup_pb

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

client = _Client()
backup_pb = table.Backup(name=self.BACKUP_NAME)
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.get_backup.return_value = backup_pb

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

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

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

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

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

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

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

client = _Client()
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.restore_table.side_effect = Unknown("testing")

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

def test_restore_cluster_not_set(self):
client = _Client()
client._table_admin_client = self._make_table_admin_client()
client.table_admin_client = self._make_table_admin_client()
backup = self._make_one(
self.BACKUP_ID,
_Instance(self.INSTANCE_NAME, client=client),
Expand All @@ -746,7 +746,7 @@ def test_restore_cluster_not_set(self):
def _restore_helper(self, instance_id=None, instance_name=None):
op_future = object()
client = _Client()
api = client._table_admin_client = self._make_table_admin_client()
api = client.table_admin_client = self._make_table_admin_client()
api.restore_table.return_value = op_future

timestamp = self._make_timestamp()
Expand Down