2016-08-31 11:53:54 +01:00
|
|
|
import os
|
|
|
|
|
|
|
|
|
|
from flask import json
|
|
|
|
|
import jsonschema
|
2016-11-22 11:17:28 +00:00
|
|
|
from jsonschema import Draft4Validator
|
2016-08-31 11:53:54 +01:00
|
|
|
|
2016-08-31 12:39:11 +01:00
|
|
|
|
2016-11-22 11:17:28 +00:00
|
|
|
def return_json_from_response(response):
|
|
|
|
|
return json.loads(response.get_data(as_text=True))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def validate_v0(json_to_validate, schema_filename):
|
|
|
|
|
schema_dir = os.path.join(os.path.dirname(__file__), 'schemas/v0')
|
2016-08-31 12:22:05 +01:00
|
|
|
resolver = jsonschema.RefResolver('file://' + schema_dir + '/', None)
|
|
|
|
|
with open(os.path.join(schema_dir, schema_filename)) as schema:
|
2016-08-31 11:53:54 +01:00
|
|
|
jsonschema.validate(
|
2016-11-22 11:17:28 +00:00
|
|
|
json_to_validate,
|
2016-08-31 11:53:54 +01:00
|
|
|
json.load(schema),
|
|
|
|
|
format_checker=jsonschema.FormatChecker(),
|
|
|
|
|
resolver=resolver
|
|
|
|
|
)
|
2016-11-22 11:17:28 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def validate(json_to_validate, schema):
|
|
|
|
|
validator = Draft4Validator(schema)
|
|
|
|
|
validator.validate(json_to_validate, schema)
|