mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-04-14 17:41:45 +04:00
Add better tests for manifest json schema
This commit is contained in:
parent
74923ef252
commit
fdf05b0fa9
1 changed files with 31 additions and 1 deletions
|
|
@ -1,8 +1,11 @@
|
||||||
|
|
||||||
|
import jsonschema
|
||||||
|
import jsonschema.exceptions
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
from pre_commit.clientlib.validate_manifest import additional_manifest_check
|
from pre_commit.clientlib.validate_manifest import additional_manifest_check
|
||||||
from pre_commit.clientlib.validate_manifest import InvalidManifestError
|
from pre_commit.clientlib.validate_manifest import InvalidManifestError
|
||||||
|
from pre_commit.clientlib.validate_manifest import MANIFEST_JSON_SCHEMA
|
||||||
from pre_commit.clientlib.validate_manifest import run
|
from pre_commit.clientlib.validate_manifest import run
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -30,3 +33,30 @@ def test_additional_manifest_check_raises_for_bad_language():
|
||||||
))
|
))
|
||||||
def test_additional_manifest_check_is_ok_with_missing_language(obj):
|
def test_additional_manifest_check_is_ok_with_missing_language(obj):
|
||||||
additional_manifest_check(obj)
|
additional_manifest_check(obj)
|
||||||
|
|
||||||
|
|
||||||
|
def is_valid_according_to_schema(obj, schema):
|
||||||
|
try:
|
||||||
|
jsonschema.validate(obj, schema)
|
||||||
|
return True
|
||||||
|
except jsonschema.exceptions.ValidationError:
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(('manifest_obj', 'expected'), (
|
||||||
|
([], False),
|
||||||
|
([{'id': 'a', 'name': 'b', 'entry': 'c'}], True),
|
||||||
|
(
|
||||||
|
[{
|
||||||
|
'id': 'a',
|
||||||
|
'name': 'b',
|
||||||
|
'entry': 'c',
|
||||||
|
'language': 'python',
|
||||||
|
'expected_return_value': 0,
|
||||||
|
}],
|
||||||
|
True,
|
||||||
|
),
|
||||||
|
))
|
||||||
|
def test_is_valid_according_to_schema(manifest_obj, expected):
|
||||||
|
ret = is_valid_according_to_schema(manifest_obj, MANIFEST_JSON_SCHEMA)
|
||||||
|
assert ret is expected
|
||||||
Loading…
Add table
Add a link
Reference in a new issue