Skip to content

Commit

Permalink
Fix coverage (#2023)
Browse files Browse the repository at this point in the history
* Fix coverage

* Fix coverage
  • Loading branch information
koxudaxi authored Jul 1, 2024
1 parent bec88d6 commit d0778c5
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 23 deletions.
25 changes: 11 additions & 14 deletions datamodel_code_generator/parser/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -1001,24 +1001,21 @@ def __collapse_root_models(

data_type.parent.data_type = copied_data_type

elif data_type.parent.is_list: # no: pragma
elif data_type.parent.is_list:
if self.field_constraints:
model_field.constraints = ConstraintsBase.merge_constraints(
root_type_field.constraints, model_field.constraints
)
if isinstance( # no: pragma
root_type_field, # no: pragma
pydantic_model.DataModelField, # no: pragma
): # no: pragma
if not model_field.extras.get( # no: pragma
'discriminator'
): # no: pragma
discriminator = root_type_field.extras.get(
'discriminator'
)
if discriminator: # no: pragma
model_field.extras['discriminator'] = discriminator
data_type.parent.data_types.remove(data_type)
if isinstance(
root_type_field,
pydantic_model.DataModelField,
) and not model_field.extras.get('discriminator'):
discriminator = root_type_field.extras.get('discriminator')
if discriminator:
model_field.extras['discriminator'] = discriminator
data_type.parent.data_types.remove(
data_type
) # pragma: no cover
data_type.parent.data_types.append(copied_data_type)

elif isinstance(data_type.parent, DataType):
Expand Down
16 changes: 7 additions & 9 deletions datamodel_code_generator/parser/jsonschema.py
Original file line number Diff line number Diff line change
Expand Up @@ -1311,16 +1311,14 @@ def parse_root_type(
reference: Optional[Reference] = None
if obj.ref:
data_type: DataType = self.get_ref_data_type(obj.ref)
elif obj.custom_type_path: # no: pragma
elif obj.custom_type_path:
data_type = self.data_type_manager.get_data_type_from_full_path(
obj.custom_type_path, is_custom_type=True
)
elif obj.is_array: # no: pragma
data_type = self.parse_array_fields( # no: pragma
name, # no: pragma
obj, # no: pragma
get_special_path('array', path), # no: pragma
).data_type # no: pragma
) # pragma: no cover
elif obj.is_array:
data_type = self.parse_array_fields(
name, obj, get_special_path('array', path)
).data_type # pragma: no cover
elif obj.anyOf or obj.oneOf:
reference = self.model_resolver.add(
path, name, loaded=True, class_name=True
Expand Down Expand Up @@ -1665,7 +1663,7 @@ def parse_obj(
elif obj.oneOf or obj.anyOf:
data_type = self.parse_root_type(name, obj, path)
if isinstance(data_type, EmptyDataType) and obj.properties:
self.parse_object(name, obj, path)
self.parse_object(name, obj, path) # pragma: no cover
elif obj.properties:
self.parse_object(name, obj, path)
elif obj.patternProperties:
Expand Down

0 comments on commit d0778c5

Please sign in to comment.