Exemple #1
0
def test_json_schema_or_merge_type():
    s = Or(str, Or(int, dict))
    assert s.json_schema() == {'anyOf': [
        {'type': 'integer'}, {'type': 'object'}, {'type': 'string'}
    ]}
    assert s.json_schema(target='json_schema') == {'type': [
        'integer', 'object', 'string'
    ]}
Exemple #2
0
def test_json_schema_or_merge_bool_null():
    s = Or(None, bool)
    assert s.json_schema() == {'enum': [True, False, None]}
    assert s.json_schema(target='openapi') == {'type': 'boolean', 'nullable': True}
    s = Or(0, 1, 2, 3, bool)
    assert s.json_schema() == {'enum': [0, 1, 2, 3, True, False]}
    assert s.json_schema(target='openapi') == {'enum': [0, 1, 2, 3, True, False]}
    s = Or(None)
    assert s.json_schema(target='openapi') == {'enum': [None]}
Exemple #3
0
def test_json_schema_or_merge_or():
    s = Or(
        Or(
            Or(
                Schema(None, json_schema={'a': 'b'}),
                Schema(None, json_schema={'c': 'd'}),
            ),
            Schema(None, json_schema={'e': 'f'})
        )
    )
    assert s.json_schema() == {'anyOf': [{'a': 'b'}, {'c': 'd'}, {'e': 'f'}]}
Exemple #4
0
def test_json_schema_or_simplify():
    s = Or('test')
    assert s.json_schema() == {'enum': ['test']}
Exemple #5
0
def test_json_schema_or_merge_const():
    s = Or(1, Or(2, 3), 4)
    assert s.json_schema() == {'enum': [1, 2, 3, 4]}
    assert s.json_schema(target='json_schema') == {'enum': [1, 2, 3, 4]}