Skip to content

Commit 2243664

Browse files
test: address issue with fixtures and emulator (#445)
* test: address issue with fixtures not raising exceptions under emulator, flag tests as not emulator compatible * test: modify not_in_emulator to skip_on_emulator * 🦉 Updates from OwlBot See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 9317596 commit 2243664

File tree

4 files changed

+29
-27
lines changed

4 files changed

+29
-27
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ def with_kms_key_name(kms_key_name):
4141

4242

4343
@pytest.fixture(scope="session")
44-
def not_in_emulator(in_emulator):
44+
def skip_on_emulator(in_emulator):
4545
if in_emulator:
4646
pytest.skip("Emulator does not support this feature")
4747

@@ -146,13 +146,13 @@ def data_instance_populated(
146146
serve_nodes,
147147
in_emulator,
148148
):
149+
instance = admin_client.instance(data_instance_id, labels=instance_labels)
150+
cluster = instance.cluster(
151+
data_cluster_id, location_id=location_id, serve_nodes=serve_nodes,
152+
)
149153
# Emulator does not support instance admin operations (create / delete).
150154
# See: https://cloud.google.com/bigtable/docs/emulator
151155
if not in_emulator:
152-
instance = admin_client.instance(data_instance_id, labels=instance_labels)
153-
cluster = instance.cluster(
154-
data_cluster_id, location_id=location_id, serve_nodes=serve_nodes,
155-
)
156156
operation = instance.create(clusters=[cluster])
157157
operation.result(timeout=30)
158158

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,7 +210,7 @@ def test_rowset_add_row_range_w_pfx(data_table, rows_to_delete):
210210
assert found_row_keys == expected_row_keys
211211

212212

213-
def test_table_read_row_large_cell(data_table, rows_to_delete, not_in_emulator):
213+
def test_table_read_row_large_cell(data_table, rows_to_delete, skip_on_emulator):
214214
# Maximum gRPC received message size for emulator is 4194304 bytes.
215215
row = data_table.direct_row(ROW_KEY)
216216
rows_to_delete.append(row)
@@ -325,7 +325,7 @@ def test_table_read_rows(data_table, rows_to_delete):
325325
assert rows_data.rows == expected_rows
326326

327327

328-
def test_read_with_label_applied(data_table, rows_to_delete, not_in_emulator):
328+
def test_read_with_label_applied(data_table, rows_to_delete, skip_on_emulator):
329329
from google.cloud.bigtable.row_filters import ApplyLabelFilter
330330
from google.cloud.bigtable.row_filters import ColumnQualifierRegexFilter
331331
from google.cloud.bigtable.row_filters import RowFilterChain

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

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,9 @@ def _delete_app_profile_helper(app_profile):
9696
assert not app_profile.exists()
9797

9898

99-
def test_client_list_instances(admin_client, admin_instance_populated, not_in_emulator):
99+
def test_client_list_instances(
100+
admin_client, admin_instance_populated, skip_on_emulator
101+
):
100102
instances, failed_locations = admin_client.list_instances()
101103

102104
assert failed_locations == []
@@ -105,20 +107,20 @@ def test_client_list_instances(admin_client, admin_instance_populated, not_in_em
105107
assert admin_instance_populated.name in found
106108

107109

108-
def test_instance_exists_hit(admin_instance_populated):
110+
def test_instance_exists_hit(admin_instance_populated, skip_on_emulator):
109111
# Emulator does not support instance admin operations (create / delete).
110112
# It allows connecting with *any* project / instance name.
111113
# See: https://cloud.google.com/bigtable/docs/emulator
112114
assert admin_instance_populated.exists()
113115

114116

115-
def test_instance_exists_miss(admin_client):
117+
def test_instance_exists_miss(admin_client, skip_on_emulator):
116118
alt_instance = admin_client.instance("nonesuch-instance")
117119
assert not alt_instance.exists()
118120

119121

120122
def test_instance_reload(
121-
admin_client, admin_instance_id, admin_instance_populated, not_in_emulator
123+
admin_client, admin_instance_id, admin_instance_populated, skip_on_emulator
122124
):
123125
# Use same arguments as 'admin_instance_populated'
124126
# so we can use reload() on a fresh instance.
@@ -139,7 +141,7 @@ def test_instance_create_prod(
139141
location_id,
140142
instance_labels,
141143
instances_to_delete,
142-
not_in_emulator,
144+
skip_on_emulator,
143145
):
144146
from google.cloud.bigtable import enums
145147

@@ -171,7 +173,7 @@ def test_instance_create_development(
171173
location_id,
172174
instance_labels,
173175
instances_to_delete,
174-
not_in_emulator,
176+
skip_on_emulator,
175177
):
176178
alt_instance_id = f"new{unique_suffix}"
177179
instance = admin_client.instance(
@@ -205,7 +207,7 @@ def test_instance_create_w_two_clusters(
205207
location_id,
206208
instance_labels,
207209
instances_to_delete,
208-
not_in_emulator,
210+
skip_on_emulator,
209211
):
210212
alt_instance_id = f"dif{unique_suffix}"
211213
instance = admin_client.instance(
@@ -400,7 +402,7 @@ def test_instance_create_w_two_clusters_cmek(
400402
instance_labels,
401403
instances_to_delete,
402404
with_kms_key_name,
403-
not_in_emulator,
405+
skip_on_emulator,
404406
):
405407
alt_instance_id = f"dif-cmek{unique_suffix}"
406408
instance = admin_client.instance(
@@ -484,7 +486,7 @@ def test_instance_update_display_name_and_labels(
484486
admin_instance_populated,
485487
label_key,
486488
instance_labels,
487-
not_in_emulator,
489+
skip_on_emulator,
488490
):
489491
old_display_name = admin_instance_populated.display_name
490492
new_display_name = "Foo Bar Baz"
@@ -521,7 +523,7 @@ def test_instance_update_w_type(
521523
location_id,
522524
instance_labels,
523525
instances_to_delete,
524-
not_in_emulator,
526+
skip_on_emulator,
525527
):
526528
alt_instance_id = f"ndif{unique_suffix}"
527529
instance = admin_client.instance(
@@ -548,17 +550,17 @@ def test_instance_update_w_type(
548550
assert instance_alt.type_ == enums.Instance.Type.PRODUCTION
549551

550552

551-
def test_cluster_exists_hit(admin_cluster, not_in_emulator):
553+
def test_cluster_exists_hit(admin_cluster, skip_on_emulator):
552554
assert admin_cluster.exists()
553555

554556

555-
def test_cluster_exists_miss(admin_instance_populated, not_in_emulator):
557+
def test_cluster_exists_miss(admin_instance_populated, skip_on_emulator):
556558
alt_cluster = admin_instance_populated.cluster("nonesuch-cluster")
557559
assert not alt_cluster.exists()
558560

559561

560562
def test_cluster_create(
561-
admin_instance_populated, admin_instance_id,
563+
admin_instance_populated, admin_instance_id, skip_on_emulator,
562564
):
563565
alt_cluster_id = f"{admin_instance_id}-c2"
564566
alt_location_id = "us-central1-f"
@@ -594,7 +596,7 @@ def test_cluster_update(
594596
admin_cluster_id,
595597
admin_cluster,
596598
serve_nodes,
597-
not_in_emulator,
599+
skip_on_emulator,
598600
):
599601
new_serve_nodes = 4
600602

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ def backups_to_delete():
5757
backup.delete()
5858

5959

60-
def test_instance_list_tables(data_instance_populated, shared_table):
60+
def test_instance_list_tables(data_instance_populated, shared_table, skip_on_emulator):
6161
# Since `data_instance_populated` is newly created, the
6262
# table created in `shared_table` here will be the only one.
6363
tables = data_instance_populated.list_tables()
@@ -115,7 +115,7 @@ def test_table_create_w_families(
115115

116116

117117
def test_table_create_w_split_keys(
118-
data_instance_populated, tables_to_delete, not_in_emulator,
118+
data_instance_populated, tables_to_delete, skip_on_emulator
119119
):
120120
temp_table_id = "foo-bar-baz-split-table"
121121
initial_split_keys = [b"split_key_1", b"split_key_10", b"split_key_20"]
@@ -203,7 +203,7 @@ def test_column_family_delete(data_instance_populated, tables_to_delete):
203203

204204

205205
def test_table_get_iam_policy(
206-
data_instance_populated, tables_to_delete, not_in_emulator,
206+
data_instance_populated, tables_to_delete, skip_on_emulator
207207
):
208208
temp_table_id = "test-get-iam-policy-table"
209209
temp_table = data_instance_populated.table(temp_table_id)
@@ -216,7 +216,7 @@ def test_table_get_iam_policy(
216216

217217

218218
def test_table_set_iam_policy(
219-
service_account, data_instance_populated, tables_to_delete, not_in_emulator,
219+
service_account, data_instance_populated, tables_to_delete, skip_on_emulator
220220
):
221221
from google.cloud.bigtable.policy import BIGTABLE_ADMIN_ROLE
222222
from google.cloud.bigtable.policy import Policy
@@ -236,7 +236,7 @@ def test_table_set_iam_policy(
236236

237237

238238
def test_table_test_iam_permissions(
239-
data_instance_populated, tables_to_delete, not_in_emulator,
239+
data_instance_populated, tables_to_delete, skip_on_emulator,
240240
):
241241
temp_table_id = "test-test-iam-policy-table"
242242
temp_table = data_instance_populated.table(temp_table_id)
@@ -258,7 +258,7 @@ def test_table_backup(
258258
instances_to_delete,
259259
tables_to_delete,
260260
backups_to_delete,
261-
not_in_emulator,
261+
skip_on_emulator,
262262
):
263263
from google.cloud._helpers import _datetime_to_pb_timestamp
264264
from google.cloud.bigtable import enums

0 commit comments

Comments
 (0)