@@ -469,12 +469,13 @@ class User(AvroModel):
469469 assert result .strip () == expected_result .strip ()
470470
471471
472- def test_schema_one_to_many_relationship_clashes_types (
473- schema_one_to_many_relationship_clashes_types : types .JsonDict ,
472+ def test_schema_one_to_many_relationship_array_clashes_types (
473+ schema_one_to_many_relationship_array_clashes_types : types .JsonDict ,
474474) -> None :
475475 expected_result = """
476476from dataclasses_avroschema import AvroModel
477477import dataclasses
478+ import datetime
478479import typing
479480
480481
@@ -486,13 +487,59 @@ class MessageHeader(AvroModel):
486487_MessageHeader = MessageHeader
487488
488489
490+ @dataclasses.dataclass
491+ class Sender(AvroModel):
492+ company: str
493+ delivered: datetime.datetime
494+
495+ _Sender = Sender
496+
497+
489498@dataclasses.dataclass
490499class Message(AvroModel):
491500 MessageBody: str
492501 MessageHeader: typing.Optional[typing.List[_MessageHeader]] = None
502+ Sender: typing.List[_Sender] = dataclasses.field(default_factory=list)
503+ """
504+ model_generator = ModelGenerator ()
505+ result = model_generator .render (schema = schema_one_to_many_relationship_array_clashes_types )
506+ assert result .strip () == expected_result .strip ()
507+
508+
509+ def test_schema_one_to_many_relationship_map_clashes_types (
510+ schema_one_to_many_relationship_map_clashes_types : types .JsonDict ,
511+ ) -> None :
512+ expected_result = """
513+ from dataclasses_avroschema import AvroModel
514+ import dataclasses
515+ import datetime
516+ import typing
517+
518+
519+ @dataclasses.dataclass
520+ class MessageHeader(AvroModel):
521+ version: str
522+ MessageType: str
523+
524+ _MessageHeader = MessageHeader
525+
526+
527+ @dataclasses.dataclass
528+ class Sender(AvroModel):
529+ company: str
530+ delivered: datetime.datetime
531+
532+ _Sender = Sender
533+
534+
535+ @dataclasses.dataclass
536+ class Message(AvroModel):
537+ MessageBody: str
538+ MessageHeader: typing.Optional[typing.Dict[str, _MessageHeader]] = None
539+ Sender: typing.Dict[str, _Sender] = dataclasses.field(default_factory=dict)
493540"""
494541 model_generator = ModelGenerator ()
495- result = model_generator .render (schema = schema_one_to_many_relationship_clashes_types )
542+ result = model_generator .render (schema = schema_one_to_many_relationship_map_clashes_types )
496543 assert result .strip () == expected_result .strip ()
497544
498545
0 commit comments