From c1676a740ab79a27ce68dec43076abac677af13c Mon Sep 17 00:00:00 2001 From: rahul yadav Date: Mon, 19 Feb 2024 20:49:35 +0530 Subject: [PATCH] rebase branch with main --- .../{backup_sample.py => backup_snippet.py} | 8 +++-- ..._sample_test.py => backup_snippet_test.py} | 29 +++++++++++++++---- samples/samples/admin/pg_samples_test.py | 5 ++-- samples/samples/admin/samples.py | 2 +- samples/samples/admin/samples_test.py | 2 +- 5 files changed, 32 insertions(+), 14 deletions(-) rename samples/samples/admin/{backup_sample.py => backup_snippet.py} (98%) rename samples/samples/admin/{backup_sample_test.py => backup_snippet_test.py} (75%) diff --git a/samples/samples/admin/backup_sample.py b/samples/samples/admin/backup_snippet.py similarity index 98% rename from samples/samples/admin/backup_sample.py rename to samples/samples/admin/backup_snippet.py index dce197a13f1..77b8248729e 100644 --- a/samples/samples/admin/backup_sample.py +++ b/samples/samples/admin/backup_snippet.py @@ -17,8 +17,8 @@ For more information, see the README.rst under /spanner. """ -from datetime import datetime, timedelta import time +from datetime import datetime, timedelta from google.cloud import spanner from google.cloud.spanner_admin_database_v1.types import backup as backup_pb @@ -67,7 +67,8 @@ def create_backup_with_encryption_key( instance_id, database_id, backup_id, kms_key_name ): """Creates a backup for a database using a Customer Managed Encryption Key (CMEK).""" - from google.cloud.spanner_admin_database_v1 import CreateBackupEncryptionConfig + from google.cloud.spanner_admin_database_v1 import \ + CreateBackupEncryptionConfig spanner_client = spanner.Client() instance = spanner_client.instance(instance_id) @@ -146,7 +147,8 @@ def restore_database_with_encryption_key( instance_id, new_database_id, backup_id, kms_key_name ): """Restores a database from a backup using a Customer Managed Encryption Key (CMEK).""" - from google.cloud.spanner_admin_database_v1 import RestoreDatabaseEncryptionConfig + from google.cloud.spanner_admin_database_v1 import \ + RestoreDatabaseEncryptionConfig spanner_client = spanner.Client() instance = spanner_client.instance(instance_id) diff --git a/samples/samples/admin/backup_sample_test.py b/samples/samples/admin/backup_snippet_test.py similarity index 75% rename from samples/samples/admin/backup_sample_test.py rename to samples/samples/admin/backup_snippet_test.py index baea5a49942..ad705f61322 100644 --- a/samples/samples/admin/backup_sample_test.py +++ b/samples/samples/admin/backup_snippet_test.py @@ -13,10 +13,9 @@ # limitations under the License. import uuid -from google.api_core.exceptions import DeadlineExceeded +import backup_snippet import pytest - -import backup_sample +from google.api_core.exceptions import DeadlineExceeded from test_utils.retry import RetryErrors @@ -50,7 +49,7 @@ def test_create_backup(capsys, instance_id, sample_database): results = snapshot.execute_sql("SELECT CURRENT_TIMESTAMP()") version_time = list(results)[0][0] - backup_sample.create_backup( + backup_snippet.create_backup( instance_id, sample_database.database_id, BACKUP_ID, @@ -67,7 +66,7 @@ def test_create_backup_with_encryption_key( sample_database, kms_key_name, ): - backup_sample.create_backup_with_encryption_key( + backup_snippet.create_backup_with_encryption_key( instance_id, sample_database.database_id, CMEK_BACKUP_ID, @@ -81,8 +80,26 @@ def test_create_backup_with_encryption_key( # @pytest.mark.dependency(depends=["create_backup"]) @RetryErrors(exception=DeadlineExceeded, max_tries=2) def test_restore_database(capsys, instance_id, sample_database): - backup_sample.restore_database(instance_id, RESTORE_DB_ID, BACKUP_ID) + backup_snippet.restore_database(instance_id, RESTORE_DB_ID, BACKUP_ID) out, _ = capsys.readouterr() assert (sample_database.database_id + " restored to ") in out assert (RESTORE_DB_ID + " from backup ") in out assert BACKUP_ID in out + + +@pytest.mark.dependency(depends=["create_backup_with_encryption_key"]) +@RetryErrors(exception=DeadlineExceeded, max_tries=2) +def test_restore_database_with_encryption_key( + capsys, + instance_id, + sample_database, + kms_key_name, +): + backup_snippet.restore_database_with_encryption_key( + instance_id, CMEK_RESTORE_DB_ID, CMEK_BACKUP_ID, kms_key_name + ) + out, _ = capsys.readouterr() + assert (sample_database.database_id + " restored to ") in out + assert (CMEK_RESTORE_DB_ID + " from backup ") in out + assert CMEK_BACKUP_ID in out + assert kms_key_name in out diff --git a/samples/samples/admin/pg_samples_test.py b/samples/samples/admin/pg_samples_test.py index 93a773ea357..9fd30c94d3f 100644 --- a/samples/samples/admin/pg_samples_test.py +++ b/samples/samples/admin/pg_samples_test.py @@ -14,13 +14,12 @@ import uuid +import pg_samples as samples +import pytest from google.api_core import exceptions from google.cloud.spanner_admin_database_v1.types.common import DatabaseDialect -import pytest from test_utils.retry import RetryErrors -import pg_samples as samples - CREATE_TABLE_SINGERS = """\ CREATE TABLE Singers ( SingerId BIGINT NOT NULL, diff --git a/samples/samples/admin/samples.py b/samples/samples/admin/samples.py index 5b04963f763..8f1039bddac 100644 --- a/samples/samples/admin/samples.py +++ b/samples/samples/admin/samples.py @@ -22,8 +22,8 @@ import time from google.cloud import spanner -from google.cloud.spanner_admin_instance_v1.types import spanner_instance_admin from google.cloud.spanner_admin_database_v1.types import spanner_database_admin +from google.cloud.spanner_admin_instance_v1.types import spanner_instance_admin OPERATION_TIMEOUT_SECONDS = 240 diff --git a/samples/samples/admin/samples_test.py b/samples/samples/admin/samples_test.py index b09356273f7..e592b64f7bd 100644 --- a/samples/samples/admin/samples_test.py +++ b/samples/samples/admin/samples_test.py @@ -21,9 +21,9 @@ import uuid +import pytest from google.api_core import exceptions from google.cloud.spanner_admin_database_v1.types.common import DatabaseDialect -import pytest from test_utils.retry import RetryErrors import samples