diff --git a/contrib/test-schema.py b/contrib/test-schema.py new file mode 100644 index 0000000..ebf0e51 --- /dev/null +++ b/contrib/test-schema.py @@ -0,0 +1,27 @@ +"""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]} + +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())