Added unit test for cli

This commit is contained in:
William Speirs 2016-10-03 12:44:15 -04:00
parent b44c1a234d
commit 788ea8e5bf
1 changed files with 25 additions and 0 deletions

View File

@ -1,6 +1,7 @@
from jsonschema import Draft4Validator, ValidationError, cli from jsonschema import Draft4Validator, ValidationError, cli
from jsonschema.compat import StringIO from jsonschema.compat import StringIO
from jsonschema.tests.compat import mock, unittest from jsonschema.tests.compat import mock, unittest
from jsonschema.exceptions import SchemaError
def fake_validator(*errors): def fake_validator(*errors):
@ -14,6 +15,10 @@ def fake_validator(*errors):
if errors: if errors:
return errors.pop() return errors.pop()
return [] return []
def check_schema(self, schema):
return True
return FakeValidator return FakeValidator
@ -55,6 +60,26 @@ class TestParser(unittest.TestCase):
class TestCLI(unittest.TestCase): class TestCLI(unittest.TestCase):
def test_draft3_schema_draft4_validator(self):
stdout, stderr = StringIO(), StringIO()
with self.assertRaises(SchemaError):
exit_code = cli.run(
{
"validator": Draft4Validator,
"schema": {
"anyOf": [
{"minimum": 20},
{"type": "string"},
{"required": True}
]
},
"instances": [1],
"error_format": "{error.message}",
},
stdout=stdout,
stderr=stderr,
)
def test_successful_validation(self): def test_successful_validation(self):
stdout, stderr = StringIO(), StringIO() stdout, stderr = StringIO(), StringIO()
exit_code = cli.run( exit_code = cli.run(