Skip to content

Commit cf4fce6

Browse files
committed
test Serialize test for batch_request_item now uses the JsonSerializationWriter to test the result of serialization
1 parent ad632ab commit cf4fce6

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

requirements-dev.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,8 @@ microsoft-kiota-authentication-azure==1.9.3
151151

152152
microsoft-kiota-http==1.9.3
153153

154+
microsoft-kiota-serialization-json==1.9.3
155+
154156
multidict==6.5.0 ; python_version >= '3.7'
155157

156158
uritemplate==4.2.0 ; python_version >= '3.6'

tests/requests/test_batch_request_item.py

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,29 +7,33 @@
77
from kiota_abstractions.serialization.serialization_writer import SerializationWriter
88
from kiota_abstractions.method import Method
99
from kiota_abstractions.headers_collection import HeadersCollection as RequestHeaders
10+
from kiota_serialization_json.json_serialization_writer_factory import JsonSerializationWriterFactory
1011
from msgraph_core.requests.batch_request_item import BatchRequestItem
1112

1213
base_url = "https://graph.microsoft.com/v1.0/me"
1314

1415

1516
@pytest.fixture
1617
def request_info():
17-
request_info = RequestInformation()
18+
request_info = RequestInformation()
1819
request_info.http_method = "GET"
19-
request_info.url = "f{base_url}/me"
20+
request_info.url = base_url
2021
request_info.headers = RequestHeaders()
22+
request_info.headers.add("Content-Type", "application/json")
2123
request_info.content = b'{"key": "value"}'
2224
return request_info
2325

2426

2527
@pytest.fixture
2628
def batch_request_item(request_info):
27-
return BatchRequestItem(request_information=request_info)
29+
return BatchRequestItem(request_information=request_info, id="123")
2830

2931

3032
def test_initialization(batch_request_item, request_info):
33+
assert batch_request_item.id == "123"
3134
assert batch_request_item.method == "GET"
32-
assert batch_request_item.url == "f{base_url}/me"
35+
assert batch_request_item.url == base_url
36+
assert batch_request_item.headers == {"content-type": "application/json"}
3337
assert batch_request_item.body == b'{"key": "value"}'
3438

3539

@@ -128,9 +132,13 @@ def test_depends_on_property(batch_request_item):
128132
assert batch_request_item.depends_on == ["request1", "request2"]
129133

130134

131-
def test_serialize(batch_request_item):
132-
writer = Mock(spec=SerializationWriter)
135+
def test_serialize_json(batch_request_item):
136+
writer = JsonSerializationWriterFactory().get_serialization_writer('application/json')
133137
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})
138+
content = json.loads(writer.get_serialized_content())
139+
assert content["id"] == "123"
140+
assert content["method"] == "GET"
141+
assert content["url"] == base_url
142+
assert content["headers"] == {"content-type": "application/json"}
143+
assert content["body"] == {"key": "value"}
144+

0 commit comments

Comments
 (0)