Skip to content

Commit 3ae3e09

Browse files
Test preparer region config loader (and DeleteAfter fixes) (#12924)
* Initial implementation of region-loading-from-config, and opting in for SB and EH to support canary region specification. * Truncate DeleteAfter at milliseconds to hopefully allow it to get picked up by engsys. Add get_region_override to __init__ exports. * Provide better validation semantics for the get_region_override function. (empty/null regions is invalid)
1 parent df594e0 commit 3ae3e09

File tree

5 files changed

+14
-6
lines changed

5 files changed

+14
-6
lines changed

sdk/eventhub/azure-eventhub/conftest.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from uamqp import ReceiveClient
1919
from uamqp.authentication import SASTokenAuth
2020

21+
from devtools_testutils import get_region_override
2122

2223
# Ignore async tests for Python < 3.5
2324
collect_ignore = []
@@ -32,7 +33,7 @@
3233
NAMESPACE_PREFIX = "eh-ns"
3334
EVENTHUB_PREFIX = "eh"
3435
EVENTHUB_DEFAULT_AUTH_RULE_NAME = 'RootManageSharedAccessKey'
35-
LOCATION = "westus"
36+
LOCATION = get_region_override("westus")
3637

3738

3839
def pytest_addoption(parser):

sdk/servicebus/azure-servicebus/tests/servicebus_preparer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from azure_devtools.scenario_tests.exceptions import AzureTestError
1010

1111
from devtools_testutils import (
12-
ResourceGroupPreparer, AzureMgmtPreparer, FakeResource
12+
ResourceGroupPreparer, AzureMgmtPreparer, FakeResource, get_region_override
1313
)
1414

1515
from devtools_testutils.resource_testcase import RESOURCE_GROUP_PARAM
@@ -27,7 +27,7 @@ class ServiceBusNamespacePreparer(AzureMgmtPreparer):
2727
def __init__(self,
2828
name_prefix='',
2929
use_cache=False,
30-
sku='Standard', location='westus',
30+
sku='Standard', location=get_region_override('westus'),
3131
parameter_name=SERVICEBUS_NAMESPACE_PARAM,
3232
resource_group_parameter_name=RESOURCE_GROUP_PARAM,
3333
disable_recording=True, playback_fake_resource=None,
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from .mgmt_testcase import (AzureMgmtTestCase, AzureMgmtPreparer)
2-
from .azure_testcase import AzureTestCase, is_live
2+
from .azure_testcase import AzureTestCase, is_live, get_region_override
33
from .resource_testcase import (FakeResource, ResourceGroupPreparer, RandomNameResourceGroupPreparer, CachedResourceGroupPreparer)
44
from .storage_testcase import (FakeStorageAccount, StorageAccountPreparer)
55
from .keyvault_preparer import KeyVaultPreparer
@@ -8,7 +8,7 @@
88
'AzureMgmtTestCase', 'AzureMgmtPreparer',
99
'FakeResource', 'ResourceGroupPreparer',
1010
'FakeStorageAccount', 'StorageAccountPreparer',
11-
'AzureTestCase', 'is_live',
11+
'AzureTestCase', 'is_live', 'get_region_override',
1212
'KeyVaultPreparer', 'RandomNameResourceGroupPreparer',
1313
'CachedResourceGroupPreparer'
1414
]

tools/azure-sdk-tools/devtools_testutils/azure_testcase.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,13 @@ def is_live():
6565
return is_live._cache
6666

6767

68+
def get_region_override(default='westus'):
69+
region = os.environ.get('RESOURCE_REGION', None) or default
70+
if not region:
71+
raise ValueError('Region should not be None; set a non-empty-string region to either the RESOURCE_REGION environment variable or the default parameter to this function.')
72+
return region
73+
74+
6875
def _is_autorest_v3(client_class):
6976
""" IS this client a autorestv3/track2 one?.
7077
Could be refined later if necessary.

tools/azure-sdk-tools/devtools_testutils/resource_testcase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ def create_resource(self, name, **kwargs):
6060
parameters = {'location': self.location}
6161
if self.delete_after_tag_timedelta:
6262
expiry = datetime.datetime.utcnow() + self.delete_after_tag_timedelta
63-
parameters['tags'] = {'DeleteAfter': expiry.isoformat()}
63+
parameters['tags'] = {'DeleteAfter': expiry.replace(microsecond=0).isoformat()}
6464
try:
6565
self.resource = self.client.resource_groups.create_or_update(
6666
name, parameters

0 commit comments

Comments
 (0)