Skip to content
Snippets Groups Projects
Verified Commit 5dc99c61 authored by Daniel Hornung's avatar Daniel Hornung
Browse files

ENH: json schema export now handles file properties.

parent f398b5d9
No related branches found
No related tags found
2 merge requests!89ENH: JsonSchemaExporter accepts do_not_create parameter.,!83ENH: JsonSchemaExporter can merge schemata and arrayize them
Pipeline #43226 passed
......@@ -143,8 +143,8 @@ class JsonSchemaExporter:
values = self._retrieve_enum_values("RECORD") + self._retrieve_enum_values("FILE")
json_prop["enum"] = values
elif prop.datatype == db.FILE:
# TODO: different issue
raise NotImplementedError("Files have not been implemented yet.")
json_prop["type"] = "string"
json_prop["format"] = "data-url"
else:
prop_name = prop.datatype
if isinstance(prop.datatype, db.Entity):
......
......@@ -534,17 +534,21 @@ def test_rt_with_references():
}
validate(example, schema)
# Single file and multiple files
rt = db.RecordType()
rt.add_property(name="FileProp", datatype=db.FILE)
with raises(NotImplementedError):
schema = rtjs(rt)
schema = rtjs(rt)
assert schema["properties"]["FileProp"]["type"] == "string"
assert schema["properties"]["FileProp"]["format"] == "data-url"
rt = db.RecordType()
rt.add_property(name="FileProp", datatype=db.LIST(db.FILE))
with raises(NotImplementedError):
schema = rtjs(rt)
schema = rtjs(rt)
assert schema["properties"]["FileProp"]["type"] == "array"
assert schema["properties"]["FileProp"]["items"]["type"] == "string"
assert schema["properties"]["FileProp"]["items"]["format"] == "data-url"
def test_broken():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment