EDDN/contrib/test-schema.py
2021-11-07 16:22:14 +00:00

28 lines
747 B
Python

"""Check if a file's JSON message passes the given schema."""
import simplejson
import sys
from jsonschema import FormatChecker, ValidationError
from jsonschema import validate as json_validate
if len(sys.argv) < 2:
print(
f"""
Usage: {sys.argv[0]} <schema file name> <test data file name>
Note that the entire file will be loaded by simpljson.load() and should
only contain one JSON object.
"""
)
sys.exit(-1)
schema_file_name = sys.argv[1]
test_file_name = sys.argv[2]
with open(test_file_name, 'r') as test_file:
test_event = simplejson.load(test_file)
with open(schema_file_name, 'r') as schema_file:
schema = simplejson.load(schema_file)
json_validate(test_event, schema, format_checker=FormatChecker())