Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.16.0
-
None
-
None
Description
Currently the schema for the integration JSON representation is expressed in prose only. It should be rewritten using a JSON schema representation and used to validate generated as well as (checked-in) example JSON. jsonschema would work https://python-jsonschema.readthedocs.io/en/stable/validate/
Additionally, languages unit test their JSON parsers/converters against differing example JSON:
C++ includes some inline https://github.com/apache/arrow/blob/b0bb6841af91ed2fddc201ca1ff6bedac7629e2e/cpp/src/arrow/ipc/json_integration_test.cc#L317-L346
While Java uses an explicit file https://github.com/apache/arrow/blob/5b783fe35284c97f6bcf107650ba7cfd66a76750/java/tools/src/test/java/org/apache/arrow/tools/TestIntegration.java#L189
This is brittle and difficult to discover. A single directory of checked-in example JSON should be assembled, against which all languages should unit test.