MCPcopy
hub / github.com/danielgtaylor/python-betterproto / test_optional_datetime_to_dict

Function test_optional_datetime_to_dict

tests/test_features.py:283–306  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

281
282
283def test_optional_datetime_to_dict():
284 @dataclass
285 class Request(betterproto.Message):
286 date: Optional[datetime] = betterproto.message_field(1, optional=True)
287
288 # Check dict serialization
289 assert Request().to_dict() == {}
290 assert Request().to_dict(include_default_values=True) == {"date": None}
291 assert Request(date=datetime(2020, 1, 1)).to_dict() == {
292 "date": "2020-01-01T00:00:00Z"
293 }
294 assert Request(date=datetime(2020, 1, 1)).to_dict(include_default_values=True) == {
295 "date": "2020-01-01T00:00:00Z"
296 }
297
298 # Check pydict serialization
299 assert Request().to_pydict() == {}
300 assert Request().to_pydict(include_default_values=True) == {"date": None}
301 assert Request(date=datetime(2020, 1, 1)).to_pydict() == {
302 "date": datetime(2020, 1, 1)
303 }
304 assert Request(date=datetime(2020, 1, 1)).to_pydict(
305 include_default_values=True
306 ) == {"date": datetime(2020, 1, 1)}
307
308
309def test_to_json_default_values():

Callers

nothing calls this directly

Calls 3

to_pydictMethod · 0.80
RequestClass · 0.70
to_dictMethod · 0.45

Tested by

no test coverage detected