Skip to content

Commit

Permalink
Merge pull request #701 from microsoftgraph/shem/add_method_to_batch_…
Browse files Browse the repository at this point in the history
…request_items

Fix - Use Enum value for Enum Methods
  • Loading branch information
shemogumbe authored Oct 9, 2024
2 parents 784d8d6 + 1e6dc49 commit b1ec7d5
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
8 changes: 7 additions & 1 deletion src/msgraph_core/requests/batch_request_item.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import re
import enum
import json
from uuid import uuid4
from typing import List, Optional, Dict, Union, Any
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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
Expand Down
12 changes: 12 additions & 0 deletions tests/requests/test_batch_request_item.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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"]

0 comments on commit b1ec7d5

Please sign in to comment.