Skip to content

Commit b1a9add

Browse files
authored
Fix failing storage tests (#42680)
* some requests were not being filtered behind self.is_live. Just added an if check in a few places to get this green
1 parent 9563264 commit b1a9add

File tree

11 files changed

+110
-64
lines changed

11 files changed

+110
-64
lines changed

eng/pipelines/templates/jobs/ci.tests.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ parameters:
4545
default: false
4646
- name: OSName
4747
type: string
48+
- name: EnvVars
49+
type: object
50+
default: {}
4851

4952
jobs:
5053
- job:
@@ -105,3 +108,4 @@ jobs:
105108
- ${{ each step in parameters.BeforeTestSteps }}:
106109
- ${{ step }}
107110
AfterTestSteps: ${{ parameters.AfterTestSteps }}
111+
EnvVars: ${{ parameters.EnvVars }}

eng/pipelines/templates/jobs/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ parameters:
6161
- name: GenerateApiReviewForManualOnly
6262
type: boolean
6363
default: false
64+
- name: EnvVars
65+
type: object
66+
default: {}
6467

6568
jobs:
6669
- job: 'Build_Linux'
@@ -287,6 +290,7 @@ jobs:
287290
CloudConfig:
288291
Cloud: Public
289292
AdditionalParameters:
293+
EnvVars: ${{ parameters.EnvVars }}
290294
ServiceDirectory: ${{ parameters.ServiceDirectory }}
291295
TestPipeline: ${{ parameters.TestPipeline }}
292296
TestMarkArgument: ${{ parameters.TestMarkArgument }}

eng/pipelines/templates/stages/archetype-sdk-client.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ parameters:
8181
- name: oneESTemplateTag
8282
type: string
8383
default: release
84+
- name: EnvVars
85+
type: object
86+
default: {}
8487

8588
extends:
8689
template: /eng/pipelines/templates/stages/1es-redirect.yml
@@ -106,6 +109,7 @@ extends:
106109
InjectedPackages: ${{ parameters.InjectedPackages }}
107110
BuildDocs: ${{ parameters.BuildDocs }}
108111
DevFeedName: ${{ parameters.DevFeedName }}
112+
EnvVars: ${{ parameters.EnvVars }}
109113
MatrixConfigs:
110114
- ${{ each config in parameters.MatrixConfigs }}:
111115
- ${{ config }}

sdk/storage/azure-storage-blob/tests/test_append_blob.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1545,7 +1545,7 @@ def test_create_append_blob_with_immutability_policy(self, **kwargs):
15451545
property = mgmt_client.models().BlobContainer(
15461546
immutable_storage_with_versioning=mgmt_client.models().ImmutableStorageWithVersioning(enabled=True))
15471547
mgmt_client.blob_containers.create(storage_resource_group_name, versioned_storage_account_name, container_name, blob_container=property)
1548-
1548+
15491549
# Act
15501550
blob_name = self.get_resource_name('vlwblob')
15511551
blob = bsc.get_blob_client(container_name, blob_name)
@@ -1622,7 +1622,8 @@ def test_append_block_from_file_to_blob_with_oauth(self, **kwargs):
16221622
self.get_resource_name("file"),
16231623
bearer_token_string,
16241624
storage_account_name,
1625-
source_data
1625+
source_data,
1626+
self.is_live
16261627
)
16271628

16281629
# Set up destination blob without data
@@ -1646,11 +1647,12 @@ def test_append_block_from_file_to_blob_with_oauth(self, **kwargs):
16461647
# Assert
16471648
assert destination_blob_data == source_data
16481649
finally:
1649-
requests.delete(
1650-
url=base_url,
1651-
headers=_build_base_file_share_headers(bearer_token_string, 0),
1652-
params={'restype': 'share'}
1653-
)
1654-
bsc.delete_container(self.source_container_name)
1650+
if self.is_live:
1651+
requests.delete(
1652+
url=base_url,
1653+
headers=_build_base_file_share_headers(bearer_token_string, 0),
1654+
params={'restype': 'share'}
1655+
)
1656+
bsc.delete_container(self.source_container_name)
16551657

16561658
# ------------------------------------------------------------------------------

sdk/storage/azure-storage-blob/tests/test_append_blob_async.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1615,7 +1615,8 @@ async def test_append_block_from_file_to_blob_with_oauth(self, **kwargs):
16151615
self.get_resource_name("file"),
16161616
bearer_token_string,
16171617
storage_account_name,
1618-
source_data
1618+
source_data,
1619+
self.is_live
16191620
)
16201621

16211622
# Set up destination blob without data
@@ -1640,12 +1641,13 @@ async def test_append_block_from_file_to_blob_with_oauth(self, **kwargs):
16401641
# Assert
16411642
assert destination_blob_data == source_data
16421643
finally:
1643-
async with aiohttp.ClientSession() as session:
1644-
await session.delete(
1645-
url=base_url,
1646-
headers=_build_base_file_share_headers(bearer_token_string, 0),
1647-
params={'restype': 'share'}
1648-
)
1649-
await bsc.delete_container(self.source_container_name)
1644+
if self.is_live:
1645+
async with aiohttp.ClientSession() as session:
1646+
await session.delete(
1647+
url=base_url,
1648+
headers=_build_base_file_share_headers(bearer_token_string, 0),
1649+
params={'restype': 'share'}
1650+
)
1651+
await bsc.delete_container(self.source_container_name)
16501652

16511653
# ------------------------------------------------------------------------------

sdk/storage/azure-storage-blob/tests/test_block_blob.py

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@
88
import tempfile
99
from datetime import datetime, timedelta
1010
from io import BytesIO
11+
import os
12+
import typing
13+
import pytest
1114

1215
import pytest
1316
from azure.core.exceptions import HttpResponseError, ResourceExistsError, ResourceModifiedError, ResourceNotFoundError
@@ -85,7 +88,13 @@ def _create_source_blob(self, data):
8588
return blob_client
8689

8790
def _get_bearer_token_string(self, resource: str = "https://storage.azure.com/.default") -> str:
88-
return "Bearer " + f"{self.get_credential(BlobServiceClient).get_token(resource).token}"
91+
# In playback mode we don't want to invoke real Azure auth flows. Return a stable fake token
92+
# so existing recordings (with sanitization) continue to match.
93+
if not self.is_live:
94+
return "Bearer FAKE_TOKEN"
95+
credential = self.get_credential(BlobServiceClient)
96+
token = credential.get_token(resource)
97+
return f"Bearer {token.token}"
8998

9099
def assertBlobEqual(self, container_name, blob_name, expected_data):
91100
blob = self.bsc.get_blob_client(container_name, blob_name)
@@ -131,7 +140,8 @@ def test_upload_from_file_to_blob_with_oauth(self, **kwargs):
131140
self.get_resource_name("file"),
132141
bearer_token_string,
133142
storage_account_name,
134-
source_data
143+
source_data,
144+
self.is_live
135145
)
136146

137147
# Set up destination blob without data
@@ -156,12 +166,13 @@ def test_upload_from_file_to_blob_with_oauth(self, **kwargs):
156166
# Assert
157167
assert destination_blob_data == source_data
158168
finally:
159-
requests.delete(
160-
url=base_url,
161-
headers=_build_base_file_share_headers(bearer_token_string, 0),
162-
params={'restype': 'share'}
163-
)
164-
blob_service_client.delete_container(self.source_container_name)
169+
if self.is_live:
170+
requests.delete(
171+
url=base_url,
172+
headers=_build_base_file_share_headers(bearer_token_string, 0),
173+
params={'restype': 'share'}
174+
)
175+
blob_service_client.delete_container(self.source_container_name)
165176

166177
@BlobPreparer()
167178
@recorded_by_proxy
@@ -180,14 +191,16 @@ def test_stage_from_file_to_blob_with_oauth(self, **kwargs):
180191
self.get_resource_name("file"),
181192
bearer_token_string,
182193
storage_account_name,
183-
source_data
194+
source_data,
195+
self.is_live
184196
)
185197

186198
# Set up destination blob without data
187199
blob_service_client = BlobServiceClient(
188200
account_url=self.account_url(storage_account_name, "blob"),
189201
credential=storage_account_key
190202
)
203+
191204
destination_blob_client = blob_service_client.get_blob_client(
192205
container=self.source_container_name,
193206
blob=self.get_resource_name(TEST_BLOB_PREFIX + "1")
@@ -209,12 +222,13 @@ def test_stage_from_file_to_blob_with_oauth(self, **kwargs):
209222
destination_blob_data = destination_blob_client.download_blob().readall()
210223
assert destination_blob_data == source_data
211224
finally:
212-
requests.delete(
213-
url=base_url,
214-
headers=_build_base_file_share_headers(bearer_token_string, 0),
215-
params={'restype': 'share'}
216-
)
217-
blob_service_client.delete_container(self.source_container_name)
225+
if self.is_live:
226+
requests.delete(
227+
url=base_url,
228+
headers=_build_base_file_share_headers(bearer_token_string, 0),
229+
params={'restype': 'share'}
230+
)
231+
blob_service_client.delete_container(self.source_container_name)
218232

219233
@BlobPreparer()
220234
@recorded_by_proxy

sdk/storage/azure-storage-blob/tests/test_block_blob_async.py

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,8 @@ async def test_upload_from_file_to_blob_with_oauth(self, **kwargs):
152152
self.get_resource_name("file"),
153153
bearer_token_string,
154154
storage_account_name,
155-
source_data
155+
source_data,
156+
self.is_live
156157
)
157158

158159
# Set up destination blob without data
@@ -178,13 +179,14 @@ async def test_upload_from_file_to_blob_with_oauth(self, **kwargs):
178179
# Assert
179180
assert destination_blob_data == source_data
180181
finally:
181-
async with aiohttp.ClientSession() as session:
182-
await session.delete(
183-
url=base_url,
184-
headers=_build_base_file_share_headers(bearer_token_string, 0),
185-
params={'restype': 'share'}
186-
)
187-
await blob_service_client.delete_container(self.source_container_name)
182+
if self.is_live:
183+
async with aiohttp.ClientSession() as session:
184+
await session.delete(
185+
url=base_url,
186+
headers=_build_base_file_share_headers(bearer_token_string, 0),
187+
params={'restype': 'share'}
188+
)
189+
await blob_service_client.delete_container(self.source_container_name)
188190

189191
@BlobPreparer()
190192
@recorded_by_proxy_async
@@ -203,7 +205,8 @@ async def test_stage_from_file_to_blob_with_oauth(self, **kwargs):
203205
self.get_resource_name("file"),
204206
bearer_token_string,
205207
storage_account_name,
206-
source_data
208+
source_data,
209+
self.is_live
207210
)
208211

209212
# Set up destination blob without data
@@ -233,13 +236,14 @@ async def test_stage_from_file_to_blob_with_oauth(self, **kwargs):
233236
destination_blob_data = await destination_blob.readall()
234237
assert destination_blob_data == source_data
235238
finally:
236-
async with aiohttp.ClientSession() as session:
237-
await session.delete(
238-
url=base_url,
239-
headers=_build_base_file_share_headers(bearer_token_string, 0),
240-
params={'restype': 'share'}
241-
)
242-
await blob_service_client.delete_container(self.source_container_name)
239+
if self.is_live:
240+
async with aiohttp.ClientSession() as session:
241+
await session.delete(
242+
url=base_url,
243+
headers=_build_base_file_share_headers(bearer_token_string, 0),
244+
params={'restype': 'share'}
245+
)
246+
await blob_service_client.delete_container(self.source_container_name)
243247

244248
@BlobPreparer()
245249
@recorded_by_proxy_async

sdk/storage/azure-storage-blob/tests/test_common_blob.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,8 @@ def test_copy_from_file_to_blob_with_oauth(self, **kwargs):
178178
self.get_resource_name("file"),
179179
bearer_token_string,
180180
storage_account_name,
181-
source_data
181+
source_data,
182+
self.is_live
182183
)
183184

184185
# Set up destination blob without data
@@ -211,12 +212,13 @@ def test_copy_from_file_to_blob_with_oauth(self, **kwargs):
211212
# Assert
212213
assert destination_blob_data == source_data
213214
finally:
214-
requests.delete(
215-
url=base_url,
216-
headers=_build_base_file_share_headers(bearer_token_string, 0),
217-
params={'restype': 'share'}
218-
)
219-
blob_service_client.delete_container(self.source_container_name)
215+
if self.is_live:
216+
requests.delete(
217+
url=base_url,
218+
headers=_build_base_file_share_headers(bearer_token_string, 0),
219+
params={'restype': 'share'}
220+
)
221+
blob_service_client.delete_container(self.source_container_name)
220222

221223
@BlobPreparer()
222224
@recorded_by_proxy

sdk/storage/azure-storage-blob/tests/test_common_blob_async.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,8 @@ async def test_copy_from_file_to_blob_with_oauth(self, **kwargs):
183183
self.get_resource_name("file"),
184184
bearer_token_string,
185185
storage_account_name,
186-
source_data
186+
source_data,
187+
self.is_live
187188
)
188189

189190
# Set up destination blob without data
@@ -217,13 +218,14 @@ async def test_copy_from_file_to_blob_with_oauth(self, **kwargs):
217218
# Assert
218219
assert destination_blob_data == source_data
219220
finally:
220-
async with aiohttp.ClientSession() as session:
221-
await session.delete(
222-
url=base_url,
223-
headers=_build_base_file_share_headers(bearer_token_string, 0),
224-
params={'restype': 'share'}
225-
)
226-
await blob_service_client.delete_container(self.source_container_name)
221+
if self.is_live:
222+
async with aiohttp.ClientSession() as session:
223+
await session.delete(
224+
url=base_url,
225+
headers=_build_base_file_share_headers(bearer_token_string, 0),
226+
params={'restype': 'share'}
227+
)
228+
await blob_service_client.delete_container(self.source_container_name)
227229

228230
@BlobPreparer()
229231
@recorded_by_proxy_async

sdk/storage/azure-storage-blob/tests/test_helpers.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,14 @@ def _create_file_share_oauth(
3232
file_name: str,
3333
bearer_token_string: str,
3434
storage_account_name: str,
35-
data: bytes
35+
data: bytes,
36+
is_live=False
3637
) -> Tuple[str, str]:
3738
base_url = f"https://{storage_account_name}.file.core.windows.net/{share_name}"
3839

40+
if not is_live:
41+
return file_name, base_url
42+
3943
# Creates file share
4044
with requests.Session() as session:
4145
session.put(

0 commit comments

Comments
 (0)