diff options
Diffstat (limited to 'contrib/libucl/python/tests/test_validation.py')
-rw-r--r-- | contrib/libucl/python/tests/test_validation.py | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/contrib/libucl/python/tests/test_validation.py b/contrib/libucl/python/tests/test_validation.py deleted file mode 100644 index f7c853ad69a7..000000000000 --- a/contrib/libucl/python/tests/test_validation.py +++ /dev/null @@ -1,50 +0,0 @@ -from .compat import unittest -import ucl -import json -import os.path -import glob -import re - -TESTS_SCHEMA_FOLDER = '../tests/schema/*.json' - -comment_re = re.compile('\/\*((?!\*\/).)*?\*\/', re.DOTALL | re.MULTILINE) -def json_remove_comments(content): - return comment_re.sub('', content) - -class ValidationTest(unittest.TestCase): - def validate(self, jsonfile): - def perform_test(schema, data, valid, description): - msg = '%s (valid=%r)' % (description, valid) - if valid: - self.assertTrue(ucl.validate(schema, data), msg) - else: - with self.assertRaises(ucl.SchemaError): - ucl.validate(schema, data) - self.fail(msg) # fail() will be called only if SchemaError is not raised - - with open(jsonfile) as f: - try: - # data = json.load(f) - data = json.loads(json_remove_comments(f.read())) - except ValueError as e: - raise self.skipTest('Failed to load JSON: %s' % str(e)) - - for testgroup in data: - for test in testgroup['tests']: - perform_test(testgroup['schema'], test['data'], - test['valid'], test['description']) - - @classmethod - def setupValidationTests(cls): - """Creates each test dynamically from a folder""" - def test_gen(filename): - def run_test(self): - self.validate(filename) - return run_test - - for jsonfile in glob.glob(TESTS_SCHEMA_FOLDER): - testname = os.path.splitext(os.path.basename(jsonfile))[0] - setattr(cls, 'test_%s' % testname, test_gen(jsonfile)) - - -ValidationTest.setupValidationTests() |