Skip to content

Commit ad632ab

Browse files
committed
test Added a test for BatchRequestItem's serialize method.
Adding this test required fixing the request_info fixture and the test_initialization test because they were using a BytesIO object when the content field should just be bytes.
1 parent ea3a24a commit ad632ab

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

tests/requests/test_batch_request_item.py

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
import pytest
2+
import json
23
from io import BytesIO
4+
from unittest.mock import Mock
35
from urllib.request import Request
46
from kiota_abstractions.request_information import RequestInformation
7+
from kiota_abstractions.serialization.serialization_writer import SerializationWriter
58
from kiota_abstractions.method import Method
69
from kiota_abstractions.headers_collection import HeadersCollection as RequestHeaders
710
from msgraph_core.requests.batch_request_item import BatchRequestItem
@@ -15,7 +18,7 @@ def request_info():
1518
request_info.http_method = "GET"
1619
request_info.url = "f{base_url}/me"
1720
request_info.headers = RequestHeaders()
18-
request_info.content = BytesIO(b'{"key": "value"}')
21+
request_info.content = b'{"key": "value"}'
1922
return request_info
2023

2124

@@ -27,7 +30,7 @@ def batch_request_item(request_info):
2730
def test_initialization(batch_request_item, request_info):
2831
assert batch_request_item.method == "GET"
2932
assert batch_request_item.url == "f{base_url}/me"
30-
assert batch_request_item.body.read() == b'{"key": "value"}'
33+
assert batch_request_item.body == b'{"key": "value"}'
3134

3235

3336
def test_create_with_urllib_request():
@@ -123,3 +126,11 @@ def test_batch_request_item_method_enum():
123126
def test_depends_on_property(batch_request_item):
124127
batch_request_item.set_depends_on(["request1", "request2"])
125128
assert batch_request_item.depends_on == ["request1", "request2"]
129+
130+
131+
def test_serialize(batch_request_item):
132+
writer = Mock(spec=SerializationWriter)
133+
batch_request_item.serialize(writer)
134+
writer.write_additional_data_value.assert_any_call({'headers': batch_request_item._headers})
135+
json_object = json.loads(batch_request_item._body)
136+
writer.write_additional_data_value.assert_called_with({'body': json_object})

0 commit comments

Comments
 (0)