def test_parse_array(source_obj, generated_classes): parser = OpenAPIParser(BaseModel, CustomRootType) parser.parse_array('Pets', JsonSchemaObject.parse_obj(source_obj), []) assert dump_templates(list(parser.results)) == generated_classes
def test_parse_root_type(source_obj, generated_classes): parser = OpenAPIParser(BaseModel, CustomRootType) parsed_templates = parser.parse_root_type( 'Name', JsonSchemaObject.parse_obj(source_obj)) assert dump_templates(list(parsed_templates)) == generated_classes
def test_parse_object(source_obj, generated_classes): parser = JsonSchemaParser(data_model_field_type=DataModelFieldBase, source='') parser.parse_object('Person', JsonSchemaObject.parse_obj(source_obj), []) assert dump_templates(list(parser.results)) == generated_classes
def test_parse_any_root_object(source_obj, generated_classes): parser = JsonSchemaParser('') parser.parse_root_type('AnyObject', JsonSchemaObject.parse_obj(source_obj), []) assert dump_templates(list(parser.results)) == generated_classes
def test_parse_any_root_object(source_obj, generated_classes): parser = JsonSchemaParser(BaseModel, CustomRootType) parser.parse_root_type('AnyObject', JsonSchemaObject.parse_obj(source_obj)) assert dump_templates(list(parser.results)) == generated_classes
def test_json_schema_object_ref_url(): parser = JsonSchemaParser(BaseModel, CustomRootType) obj = JsonSchemaObject.parse_obj({'$ref': 'https://example.org'}) with pytest.raises(NotImplementedError): parser.parse_ref(obj)
def test_get_data_type_invalid_obj(): with pytest.raises(ValueError, match='invalid schema object'): parser = OpenAPIParser(BaseModel, CustomRootType) assert parser.get_data_type(JsonSchemaObject())
def test_parse_root_type(source_obj, generated_classes): parser = OpenAPIParser('') parser.parse_root_type('Name', JsonSchemaObject.parse_obj(source_obj), []) assert dump_templates(list(parser.results)) == generated_classes
def test_get_data_type_array(schema_types, result_types): parser = JsonSchemaParser(BaseModel, CustomRootType) assert parser.get_data_type(JsonSchemaObject(type=schema_types)) == [ DataType(type=r) for r in result_types ]