diff --git a/src/msgraph_core/requests/batch_request_item.py b/src/msgraph_core/requests/batch_request_item.py index 61fa480b..3bab3453 100644 --- a/src/msgraph_core/requests/batch_request_item.py +++ b/src/msgraph_core/requests/batch_request_item.py @@ -1,4 +1,5 @@ import re +import enum import json from uuid import uuid4 from typing import List, Optional, Dict, Union, Any @@ -39,7 +40,10 @@ def __init__( if request_information is None or not request_information.http_method: raise ValueError("HTTP method cannot be Null/Empty") self._id = id or str(uuid4()) - self.method = request_information.http_method + if isinstance(request_information.http_method, enum.Enum): + self._method = request_information.http_method.name + else: + self._method = request_information.http_method self._headers = request_information.request_headers self._body = request_information.content self.url = request_information.url.replace('/users/me-token-to-replace', '/me', 1) @@ -183,7 +187,9 @@ def method(self, value: str) -> None: Sets the HTTP method of the request item. Args: value (str): The HTTP method of the request item. + """ + self._method = value @property diff --git a/tests/requests/test_batch_request_item.py b/tests/requests/test_batch_request_item.py index 4b14b483..2dd3d863 100644 --- a/tests/requests/test_batch_request_item.py +++ b/tests/requests/test_batch_request_item.py @@ -2,6 +2,7 @@ from unittest.mock import Mock from urllib.request import Request from kiota_abstractions.request_information import RequestInformation +from kiota_abstractions.method import Method from kiota_abstractions.headers_collection import HeadersCollection as RequestHeaders from msgraph_core.requests.batch_request_item import BatchRequestItem, StreamInterface from kiota_abstractions.serialization import SerializationWriter @@ -109,6 +110,17 @@ def test_method_property(batch_request_item): assert batch_request_item.method == "POST" +def test_batch_request_item_method_enum(): + # Create a RequestInformation instance with an enum value for http_method + request_info = RequestInformation() + request_info.http_method = Method.GET + request_info.url = "https://graph.microsoft.com/v1.0/me" + request_info.headers = RequestHeaders() + request_info.content = None + batch_request_item = BatchRequestItem(request_information=request_info) + assert batch_request_item.method == "GET" + + def test_depends_on_property(batch_request_item): batch_request_item.set_depends_on(["request1", "request2"]) assert batch_request_item.depends_on == ["request1", "request2"]