Skip to content

Commit b83b66b

Browse files
authored
chore: harden snippet teardowns against ServiceUnavalable (#133)
Closes: #87
1 parent 1f4dc9b commit b83b66b

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

packages/google-cloud-bigtable/docs/snippets.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,13 @@
3232
import datetime
3333
import pytest
3434

35-
from test_utils.system import unique_resource_id
36-
from test_utils.retry import RetryErrors
35+
from google.api_core.exceptions import DeadlineExceeded
3736
from google.api_core.exceptions import NotFound
3837
from google.api_core.exceptions import TooManyRequests
39-
from google.api_core.exceptions import DeadlineExceeded
38+
from google.api_core.exceptions import ServiceUnavailable
39+
from test_utils.system import unique_resource_id
40+
from test_utils.retry import RetryErrors
41+
4042
from google.cloud._helpers import UTC
4143
from google.cloud.bigtable import Client
4244
from google.cloud.bigtable import enums
@@ -62,7 +64,7 @@
6264
LABELS = {LABEL_KEY: str(LABEL_STAMP)}
6365
INSTANCES_TO_DELETE = []
6466

65-
retry_429 = RetryErrors(TooManyRequests, max_tries=9)
67+
retry_429_503 = RetryErrors((ServiceUnavailable, TooManyRequests), max_tries=9)
6668
retry_504 = RetryErrors(DeadlineExceeded, max_tries=4)
6769

6870

@@ -97,11 +99,11 @@ def setup_module():
9799

98100

99101
def teardown_module():
100-
retry_429(Config.INSTANCE.delete)()
102+
retry_429_503(Config.INSTANCE.delete)()
101103

102104
for instance in INSTANCES_TO_DELETE:
103105
try:
104-
retry_429(instance.delete)()
106+
retry_429_503(instance.delete)()
105107
except NotFound:
106108
pass
107109

@@ -137,7 +139,7 @@ def test_bigtable_create_instance():
137139
try:
138140
assert instance.exists()
139141
finally:
140-
retry_429(instance.delete)()
142+
retry_429_503(instance.delete)()
141143

142144

143145
def test_bigtable_create_additional_cluster():
@@ -172,7 +174,7 @@ def test_bigtable_create_additional_cluster():
172174
try:
173175
assert cluster.exists()
174176
finally:
175-
retry_429(cluster.delete)()
177+
retry_429_503(cluster.delete)()
176178

177179

178180
def test_bigtable_create_reload_delete_app_profile():
@@ -318,7 +320,7 @@ def test_bigtable_list_app_profiles():
318320
try:
319321
assert len(app_profiles_list) > 0
320322
finally:
321-
retry_429(app_profile.delete)(ignore_warnings=True)
323+
retry_429_503(app_profile.delete)(ignore_warnings=True)
322324

323325

324326
def test_bigtable_instance_exists():
@@ -423,7 +425,7 @@ def test_bigtable_create_table():
423425
try:
424426
assert table.exists()
425427
finally:
426-
retry_429(table.delete)()
428+
retry_429_503(table.delete)()
427429

428430

429431
def test_bigtable_list_tables():

packages/google-cloud-bigtable/docs/snippets_table.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,11 @@
3232
import datetime
3333
import pytest
3434

35+
from google.api_core.exceptions import TooManyRequests
36+
from google.api_core.exceptions import ServiceUnavailable
3537
from test_utils.system import unique_resource_id
3638
from test_utils.retry import RetryErrors
37-
from google.api_core.exceptions import TooManyRequests
39+
3840
from google.cloud._helpers import UTC
3941
from google.cloud.bigtable import Client
4042
from google.cloud.bigtable import enums
@@ -66,7 +68,7 @@
6668
CELL_VAL2 = b"cell-val2"
6769
ROW_KEY2 = b"row_key_id2"
6870

69-
retry_429 = RetryErrors(TooManyRequests, max_tries=9)
71+
retry_429_503 = RetryErrors((ServiceUnavailable, TooManyRequests), max_tries=9)
7072

7173

7274
class Config(object):
@@ -106,7 +108,7 @@ def setup_module():
106108

107109

108110
def teardown_module():
109-
retry_429(Config.INSTANCE.delete)()
111+
retry_429_503(Config.INSTANCE.delete)()
110112

111113

112114
def test_bigtable_create_table():

0 commit comments

Comments
 (0)