Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: use public 'table_admin_client' property in backups methods #359

Merged
merged 3 commits into from Jul 13, 2021
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 5 additions & 5 deletions google/cloud/bigtable/backup.py
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
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
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
kolea2 marked this conversation as resolved.
Show resolved Hide resolved

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