| 281 | |
| 282 | |
| 283 | def 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 | |
| 309 | def test_to_json_default_values(): |