Skip to content

Commit c6254e4

Browse files
author
Takashi Matsuo
committed
add retries around list_messages calls
also use uuid for the resource name
1 parent 13f5070 commit c6254e4

File tree

3 files changed

+52
-41
lines changed

3 files changed

+52
-41
lines changed

healthcare/api-client/hl7v2/hl7v2_messages_test.py

Lines changed: 47 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
import random
1818
import string
1919
import sys
20-
import time
20+
import uuid
21+
22+
from gcp_devrel.testing import eventually_consistent
2123

2224
# Add datasets for bootstrapping datasets for testing
2325
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'datasets')) # noqa
@@ -31,12 +33,8 @@
3133

3234
# assume we can access the OS provied raondom source.
3335
random.seed()
34-
dataset_id = 'test_dataset_{}_{}'.format(
35-
int(time.time()),
36-
''.join([random.choice(string.ascii_letters) for n in range(5)]))
37-
hl7v2_store_id = 'test_hl7v2_store-{}-{}'.format(
38-
int(time.time()),
39-
''.join([random.choice(string.ascii_letters) for n in range(5)]))
36+
dataset_id = 'test_dataset_{}'.format(uuid.uuid4())
37+
hl7v2_store_id = 'test_hl7v2_store-{}'.format(uuid.uuid4())
4038
hl7v2_message_file = 'resources/hl7-sample-ingest.json'
4139
label_key = 'PROCESSED'
4240
label_value = 'TRUE'
@@ -88,15 +86,20 @@ def test_CRUD_hl7v2_message(test_dataset, test_hl7v2_store, capsys):
8886
hl7v2_store_id,
8987
hl7v2_message_file)
9088

91-
hl7v2_messages_list = hl7v2_messages.list_hl7v2_messages(
92-
service_account_json,
93-
project_id,
94-
cloud_region,
95-
dataset_id,
96-
hl7v2_store_id)
97-
98-
hl7v2_message_name = hl7v2_messages_list[0].get('name')
99-
hl7v2_message_id = hl7v2_message_name.split('/', 9)[9]
89+
hl7v2_message_id = ""
90+
@eventually_consistent.call
91+
def _():
92+
hl7v2_messages_list = hl7v2_messages.list_hl7v2_messages(
93+
service_account_json,
94+
project_id,
95+
cloud_region,
96+
dataset_id,
97+
hl7v2_store_id)
98+
99+
assert len(hl7v2_messages_list) > 0
100+
hl7v2_message_name = hl7v2_messages_list[0].get('name')
101+
nonlocal hl7v2_message_id
102+
hl7v2_message_id = hl7v2_message_name.split('/', 9)[9]
100103

101104
hl7v2_messages.get_hl7v2_message(
102105
service_account_json,
@@ -131,15 +134,20 @@ def test_ingest_hl7v2_message(test_dataset, test_hl7v2_store, capsys):
131134
hl7v2_store_id,
132135
hl7v2_message_file)
133136

134-
hl7v2_messages_list = hl7v2_messages.list_hl7v2_messages(
135-
service_account_json,
136-
project_id,
137-
cloud_region,
138-
dataset_id,
139-
hl7v2_store_id)
140-
141-
hl7v2_message_name = hl7v2_messages_list[0].get('name')
142-
hl7v2_message_id = hl7v2_message_name.split('/', 9)[9]
137+
hl7v2_message_id = ""
138+
@eventually_consistent.call
139+
def _():
140+
hl7v2_messages_list = hl7v2_messages.list_hl7v2_messages(
141+
service_account_json,
142+
project_id,
143+
cloud_region,
144+
dataset_id,
145+
hl7v2_store_id)
146+
147+
assert len(hl7v2_messages_list) > 0
148+
hl7v2_message_name = hl7v2_messages_list[0].get('name')
149+
nonlocal hl7v2_message_id
150+
hl7v2_message_id = hl7v2_message_name.split('/', 9)[9]
143151

144152
hl7v2_messages.get_hl7v2_message(
145153
service_account_json,
@@ -174,15 +182,20 @@ def test_patch_hl7v2_message(test_dataset, test_hl7v2_store, capsys):
174182
hl7v2_store_id,
175183
hl7v2_message_file)
176184

177-
hl7v2_messages_list = hl7v2_messages.list_hl7v2_messages(
178-
service_account_json,
179-
project_id,
180-
cloud_region,
181-
dataset_id,
182-
hl7v2_store_id)
183-
184-
hl7v2_message_name = hl7v2_messages_list[0].get('name')
185-
hl7v2_message_id = hl7v2_message_name.split('/', 9)[9]
185+
hl7v2_message_id = ""
186+
@eventually_consistent.call
187+
def _():
188+
hl7v2_messages_list = hl7v2_messages.list_hl7v2_messages(
189+
service_account_json,
190+
project_id,
191+
cloud_region,
192+
dataset_id,
193+
hl7v2_store_id)
194+
195+
assert len(hl7v2_messages_list) > 0
196+
hl7v2_message_name = hl7v2_messages_list[0].get('name')
197+
nonlocal hl7v2_message_id
198+
hl7v2_message_id = hl7v2_message_name.split('/', 9)[9]
186199

187200
hl7v2_messages.patch_hl7v2_message(
188201
service_account_json,

healthcare/api-client/hl7v2/hl7v2_stores_test.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import string
1919
import sys
2020
import time
21+
import uuid
2122

2223
# Add datasets for bootstrapping datasets for testing
2324
sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'datasets')) # noqa
@@ -30,13 +31,8 @@
3031

3132
# assume we can access the OS provied raondom source.
3233
random.seed()
33-
dataset_id = 'test_dataset_{}_{}'.format(
34-
int(time.time()),
35-
''.join([random.choice(string.ascii_letters) for n in range(5)]))
36-
hl7v2_store_id = 'test_hl7v2_store-{}-{}'.format(
37-
int(time.time()),
38-
''.join([random.choice(string.ascii_letters) for n in range(5)]))
39-
34+
dataset_id = 'test_dataset_{}'.format(uuid.uuid4())
35+
hl7v2_store_id = 'test_hl7v2_store-{}'.format(uuid.uuid4())
4036

4137
@pytest.fixture(scope='module')
4238
def test_dataset():
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,3 @@
11
pytest==5.3.2
2+
gcp-devrel-py-tools==0.0.15
3+
google-cloud-core

0 commit comments

Comments
 (0)