Skip to content

Commit f683b29

Browse files
fix issue #11658 for is_valid_resource_id (#11709)
* fix issue #11658 * use regex * add tests * revert print
1 parent 43d7ebf commit f683b29

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

sdk/core/azure-mgmt-core/azure/mgmt/core/tools.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,13 @@
3030

3131
_LOGGER = logging.getLogger(__name__)
3232
_ARMID_RE = re.compile(
33-
"(?i)/subscriptions/(?P<subscription>[^/]*)(/resourceGroups/(?P<resource_group>[^/]*))?"
34-
"(/providers/(?P<namespace>[^/]*)/(?P<type>[^/]*)/(?P<name>[^/]*)(?P<children>.*))?"
33+
"(?i)/subscriptions/(?P<subscription>[^/]+)(/resourceGroups/(?P<resource_group>[^/]+))?"
34+
"(/providers/(?P<namespace>[^/]+)/(?P<type>[^/]*)/(?P<name>[^/]+)(?P<children>.*))?"
3535
)
3636

3737
_CHILDREN_RE = re.compile(
38-
"(?i)(/providers/(?P<child_namespace>[^/]*))?/"
39-
"(?P<child_type>[^/]*)/(?P<child_name>[^/]*)"
38+
"(?i)(/providers/(?P<child_namespace>[^/]+))?/"
39+
"(?P<child_type>[^/]*)/(?P<child_name>[^/]+)"
4040
)
4141

4242
_ARMNAME_RE = re.compile("^[^<>%&:\\?/]{1,260}$")

sdk/core/azure-mgmt-core/tests/test_tools.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,9 @@ def test_resource_parse(self):
239239
invalid_ids = [
240240
'/subscriptions/fakesub/resourceGroups/myRg/type1/name1',
241241
'/subscriptions/fakesub/resourceGroups/myRg/providers/Microsoft.Provider/foo',
242-
'/subscriptions/fakesub/resourceGroups/myRg/providers/namespace/type/name/type1'
242+
'/subscriptions/fakesub/resourceGroups/myRg/providers/namespace/type/name/type1',
243+
'/subscriptions/fakesub/resourceGroups/',
244+
'/subscriptions//resourceGroups/'
243245
]
244246
for invalid_id in invalid_ids:
245247
self.assertFalse(is_valid_resource_id(invalid_id))

0 commit comments

Comments
 (0)