1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
import pytest
from fastjsonschema import JsonSchemaValueException
BASE_SCHEMA = {
'$schema': 'http://json-schema.org/draft-07/schema',
"if": {
"const": 1
},
}
@pytest.mark.parametrize('value, expected', [
(1, 1),
(2, 2),
])
def test_boolean_schema_true_in_then(asserter, value, expected):
asserter({
**BASE_SCHEMA,
'then': True,
'else': {
'type': 'number'
},
}, value, expected)
@pytest.mark.parametrize('value, expected', [
(1, JsonSchemaValueException(
'data must not be there', value=1, name='data',
definition=False, rule=None
)),
(2, 2),
])
def test_boolean_schema_false_in_then(asserter, value, expected):
asserter({
**BASE_SCHEMA,
'then': False,
'else': {
'type': 'number'
},
}, value, expected)
@pytest.mark.parametrize('value, expected', [
(1, 1),
(2, 2),
])
def test_boolean_schema_true_in_else(asserter, value, expected):
asserter({
**BASE_SCHEMA,
'then': {
'type': 'number',
},
'else': True,
}, value, expected)
@pytest.mark.parametrize('value, expected', [
(1, 1),
(2, JsonSchemaValueException(
'data must not be there', value=2, name='data',
definition=False, rule=None
)),
])
def test_boolean_schema_false_in_else(asserter, value, expected):
asserter({
**BASE_SCHEMA,
'then': {
'type': 'number',
},
'else': False,
}, value, expected)
|