def test_parse_nested_array():
    parser = JsonSchemaParser(
        DATA_PATH / 'nested_array.json',
        data_model_field_type=DataModelFieldBase,
    )
    parser.parse()
    assert (dump_templates(list(
        parser.results)) == (DATA_PATH /
                             'nested_array.json.snapshot').read_text())
def test_parse_nested_array():
    parser = JsonSchemaParser(
        BaseModel,
        CustomRootType,
        data_model_field_type=DataModelField,
        text=(DATA_PATH / 'nested_array.json').read_text(),
    )
    parser.parse()
    assert (dump_templates(list(parser.results)) == """\
class BoundingBox(BaseModel):
    type: str
    coordinates: List[Union[float, str]]


class Model(BaseModel):
    bounding_box: Optional[BoundingBox] = None
    attributes: Optional[Dict[str, Any]] = None""")
Beispiel #3
0
def translate(input_text: Union[Json, Dict[str, Any]], all_optional: bool,
              snake_case_field: bool) -> str:
    builder = SchemaBuilder()
    builder.add_object(input_text)
    schema = builder.to_schema()
    if all_optional:
        schema["required"] = []

    parser = JsonSchemaParser(
        source=json.dumps(schema),
        base_class="pydantic.BaseModel",
        snake_case_field=snake_case_field,
    )

    return parser.parse()