From 8badcc38e5b59cd95a0faef44ed383da9f746691 Mon Sep 17 00:00:00 2001 From: James Muscat Date: Wed, 17 Dec 2014 13:47:36 +0000 Subject: [PATCH] Barf on unknown schemas (without a way to make them known, currently). --- src/eddn/Validator.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/eddn/Validator.py b/src/eddn/Validator.py index 2c8eff5..b2c6c59 100644 --- a/src/eddn/Validator.py +++ b/src/eddn/Validator.py @@ -3,11 +3,19 @@ from enum import IntEnum class Validator(object): + schemas = {} + def validate(self, json_object): results = ValidationResults() if "$schemaRef" not in json_object: results.add(ValidationSeverity.FATAL, JsonValidationException("No $schemaRef found, unable to validate.")) + return results + + schemaRef = json_object["$schemaRef"] + if schemaRef not in self.schemas.keys(): + # We don't want to go out to the Internet and retrieve unknown schemas. + results.add(ValidationSeverity.FATAL, JsonValidationException("Schema " + schemaRef + " is unknown, unable to validate.")) return results