|
25 | 25 |
|
26 | 26 | import snippets
|
27 | 27 |
|
| 28 | +from gcp_devrel.testing import eventually_consistent |
| 29 | + |
28 | 30 |
|
29 | 31 | def create_key_helper(key_id, purpose, algorithm, t):
|
30 | 32 | try:
|
@@ -68,7 +70,6 @@ class TestKMSSnippets:
|
68 | 70 | parent = 'projects/{}/locations/{}'.format(project_id, location)
|
69 | 71 | keyring_path = '{}/keyRings/{}'.format(parent, keyring_id)
|
70 | 72 | version = '1'
|
71 |
| - try_limit = 10 |
72 | 73 |
|
73 | 74 | symId = 'symmetric'
|
74 | 75 |
|
@@ -178,47 +179,37 @@ def test_key_policy(self):
|
178 | 179 | self.symId,
|
179 | 180 | self.member,
|
180 | 181 | self.role)
|
181 |
| - try_number = 0 |
182 |
| - policy = None |
183 |
| - while policy is None and try_number < self.try_limit: |
184 |
| - try: |
185 |
| - time.sleep(2*try_number) |
186 |
| - policy = snippets.get_crypto_key_policy(self.project_id, |
187 |
| - self.location, |
188 |
| - self.keyring_id, |
189 |
| - self.symId) |
190 |
| - except Aborted: |
191 |
| - # aborted by backend. Try again |
192 |
| - try_number += 1 |
193 |
| - found = False |
194 |
| - for b in list(policy.bindings): |
195 |
| - if b.role == self.role and self.member in b.members: |
196 |
| - found = True |
197 |
| - assert found |
| 182 | + |
| 183 | + @eventually_consistent.call(exceptions=[Aborted, AssertionError]) |
| 184 | + def _(): |
| 185 | + policy = snippets.get_crypto_key_policy(self.project_id, |
| 186 | + self.location, |
| 187 | + self.keyring_id, |
| 188 | + self.symId) |
| 189 | + found = False |
| 190 | + for b in list(policy.bindings): |
| 191 | + if b.role == self.role and self.member in b.members: |
| 192 | + found = True |
| 193 | + assert found |
198 | 194 | # remove member
|
199 | 195 | snippets.remove_member_from_crypto_key_policy(self.project_id,
|
200 | 196 | self.location,
|
201 | 197 | self.keyring_id,
|
202 | 198 | self.symId,
|
203 | 199 | self.member,
|
204 | 200 | self.role)
|
205 |
| - try_number = 0 |
206 |
| - policy = None |
207 |
| - while policy is None and try_number < self.try_limit: |
208 |
| - try: |
209 |
| - time.sleep(2*try_number) |
210 |
| - policy = snippets.get_crypto_key_policy(self.project_id, |
211 |
| - self.location, |
212 |
| - self.keyring_id, |
213 |
| - self.symId) |
214 |
| - except Aborted: |
215 |
| - # aborted by backend. Try again |
216 |
| - try_number += 1 |
217 |
| - found = False |
218 |
| - for b in list(policy.bindings): |
219 |
| - if b.role == self.role and self.member in b.members: |
220 |
| - found = True |
221 |
| - assert not found |
| 201 | + |
| 202 | + @eventually_consistent.call(exceptions=[Aborted, AssertionError]) |
| 203 | + def _(): |
| 204 | + policy = snippets.get_crypto_key_policy(self.project_id, |
| 205 | + self.location, |
| 206 | + self.keyring_id, |
| 207 | + self.symId) |
| 208 | + found = False |
| 209 | + for b in list(policy.bindings): |
| 210 | + if b.role == self.role and self.member in b.members: |
| 211 | + found = True |
| 212 | + assert not found |
222 | 213 |
|
223 | 214 | def test_symmetric_encrypt_decrypt(self):
|
224 | 215 | cipher_bytes = snippets.encrypt_symmetric(self.project_id,
|
|
0 commit comments