From 42a2caa8c9b09c145846a0a0ba929000ec7bcfa6 Mon Sep 17 00:00:00 2001 From: shemogumbe Date: Wed, 2 Oct 2024 13:19:38 +0300 Subject: [PATCH 1/3] replace users/me-token-to-replace with /me --- src/msgraph_core/requests/batch_request_item.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/msgraph_core/requests/batch_request_item.py b/src/msgraph_core/requests/batch_request_item.py index e5f46e8b..61fa480b 100644 --- a/src/msgraph_core/requests/batch_request_item.py +++ b/src/msgraph_core/requests/batch_request_item.py @@ -42,7 +42,7 @@ def __init__( self.method = request_information.http_method self._headers = request_information.request_headers self._body = request_information.content - self.url = request_information.url + self.url = request_information.url.replace('/users/me-token-to-replace', '/me', 1) self._depends_on: Optional[List[str]] = [] if depends_on is not None: self.set_depends_on(depends_on) @@ -101,7 +101,7 @@ def set_url(self, url: str) -> None: f"Error occurred during regex replacement of API version in URL string: {url}" ) - relative_url = re.sub(self.ME_TOKEN_REGEX, '/me', relative_url, 1) + relative_url = relative_url.replace('/users/me-token-to-replace', '/me', 1) if not relative_url: raise ValueError( f"""Error occurred during regex replacement From 09bfa14a3a7accfe6efd2fdbf11c0c22e00d9da4 Mon Sep 17 00:00:00 2001 From: shemogumbe Date: Wed, 2 Oct 2024 13:22:56 +0300 Subject: [PATCH 2/3] feat(batch_requests): release batch requests From e8aeff7c933833f360500b184d653a83d942060b Mon Sep 17 00:00:00 2001 From: shemogumbe Date: Wed, 2 Oct 2024 14:00:17 +0300 Subject: [PATCH 3/3] add unit tests for url token replacement --- tests/requests/test_batch_request_item.py | 37 +++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/tests/requests/test_batch_request_item.py b/tests/requests/test_batch_request_item.py index f70c40f3..4b14b483 100644 --- a/tests/requests/test_batch_request_item.py +++ b/tests/requests/test_batch_request_item.py @@ -50,6 +50,43 @@ def test_set_url(batch_request_item): assert batch_request_item.url == "/v1.0/me" +def test_constructor_url_replacement(): + request_info = RequestInformation() + request_info.http_method = "GET" + request_info.url = "https://graph.microsoft.com/v1.0/users/me-token-to-replace" + request_info.headers = RequestHeaders() + request_info.content = None + + batch_request_item = BatchRequestItem(request_info) + + assert batch_request_item.url == "https://graph.microsoft.com/v1.0/me" + + +def test_set_url_replacement(): + request_info = RequestInformation() + request_info.http_method = "GET" + request_info.url = "https://graph.microsoft.com/v1.0/users/me-token-to-replace" + request_info.headers = RequestHeaders() + request_info.content = None + + batch_request_item = BatchRequestItem(request_info) + batch_request_item.set_url("https://graph.microsoft.com/v1.0/users/me-token-to-replace") + + assert batch_request_item.url == "/v1.0/me" + + +def test_constructor_url_replacement_with_query(): + request_info = RequestInformation() + request_info.http_method = "GET" + request_info.url = "https://graph.microsoft.com/v1.0/users/me-token-to-replace?param=value" + request_info.headers = RequestHeaders() + request_info.content = None + + batch_request_item = BatchRequestItem(request_info) + + assert batch_request_item.url == "https://graph.microsoft.com/v1.0/me?param=value" + + def test_id_property(batch_request_item): batch_request_item.id = "new_id" assert batch_request_item.id == "new_id"