Skip to content

Commit b1ec7d5

Browse files
authored
Merge pull request #701 from microsoftgraph/shem/add_method_to_batch_request_items
Fix - Use Enum value for Enum Methods
2 parents 784d8d6 + 1e6dc49 commit b1ec7d5

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/msgraph_core/requests/batch_request_item.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import re
2+
import enum
23
import json
34
from uuid import uuid4
45
from typing import List, Optional, Dict, Union, Any
@@ -39,7 +40,10 @@ def __init__(
3940
if request_information is None or not request_information.http_method:
4041
raise ValueError("HTTP method cannot be Null/Empty")
4142
self._id = id or str(uuid4())
42-
self.method = request_information.http_method
43+
if isinstance(request_information.http_method, enum.Enum):
44+
self._method = request_information.http_method.name
45+
else:
46+
self._method = request_information.http_method
4347
self._headers = request_information.request_headers
4448
self._body = request_information.content
4549
self.url = request_information.url.replace('/users/me-token-to-replace', '/me', 1)
@@ -183,7 +187,9 @@ def method(self, value: str) -> None:
183187
Sets the HTTP method of the request item.
184188
Args:
185189
value (str): The HTTP method of the request item.
190+
186191
"""
192+
187193
self._method = value
188194

189195
@property

tests/requests/test_batch_request_item.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
from unittest.mock import Mock
33
from urllib.request import Request
44
from kiota_abstractions.request_information import RequestInformation
5+
from kiota_abstractions.method import Method
56
from kiota_abstractions.headers_collection import HeadersCollection as RequestHeaders
67
from msgraph_core.requests.batch_request_item import BatchRequestItem, StreamInterface
78
from kiota_abstractions.serialization import SerializationWriter
@@ -109,6 +110,17 @@ def test_method_property(batch_request_item):
109110
assert batch_request_item.method == "POST"
110111

111112

113+
def test_batch_request_item_method_enum():
114+
# Create a RequestInformation instance with an enum value for http_method
115+
request_info = RequestInformation()
116+
request_info.http_method = Method.GET
117+
request_info.url = "https://graph.microsoft.com/v1.0/me"
118+
request_info.headers = RequestHeaders()
119+
request_info.content = None
120+
batch_request_item = BatchRequestItem(request_information=request_info)
121+
assert batch_request_item.method == "GET"
122+
123+
112124
def test_depends_on_property(batch_request_item):
113125
batch_request_item.set_depends_on(["request1", "request2"])
114126
assert batch_request_item.depends_on == ["request1", "request2"]

0 commit comments

Comments
 (0)