Exemple #1
0
def test_enum_top_level_err():
    schema = {"enum": [1, 2, 3]}

    struct_code = schema_to_struct_code('Foo', schema, {})
    exec(struct_code, globals())
    with raises(ValueError) as excinfo:
        Foo('abc')
Exemple #2
0
def test_enum_top_level():
    schema = {"enum": [1, 2, 3]}

    struct_code = schema_to_struct_code('Foo', schema, {})
    exec(struct_code, globals())

    foo = Foo(2)
    assert foo.wrapped == 2
Exemple #3
0
def test_array_top_level_err():
    schema = {
        "type": "array",
        "items": [{
            "type": "integer",
            "multiplesOf": 5
        }, {
            "type": "number"
        }]
    }

    struct_code = schema_to_struct_code('Foo', schema, {})
    exec(struct_code, globals())
    with raises(TypeError) as excinfo:
        Foo(wrapped=123)
Exemple #4
0
def test_boolean_field():
    schema = {
        "type": "object",
        "b": {
            "type": "boolean"
        },
        "required": ["b"],
        "additionalProperties": True
    }

    struct_code = schema_to_struct_code('Foo', schema, {})
    exec(struct_code, globals())

    foo = Foo(b=False)
    assert foo.b == False
Exemple #5
0
def test_array_no_items_definition():
    schema = {
        "type": "object",
        "arr": {
            "type": "array",
            "uniqueItems": True,
        },
        "required": [],
        "additionalProperties": False
    }
    struct_code = schema_to_struct_code('Duba', schema, {})
    exec(struct_code, globals())

    duba = Duba(arr=[1, 'sss', None])
    assert duba.arr[2] == None
Exemple #6
0
def test_array_top_level_1():
    schema = {
        "type": "array",
        "items": [{
            "type": "integer",
            "multiplesOf": 5
        }, {
            "type": "number"
        }]
    }

    struct_code = schema_to_struct_code('Foo', schema, {})
    exec(struct_code, globals())

    foo = Foo([10, 4])
    assert foo.wrapped[1] == 4
Exemple #7
0
def test_schema():
    definitions_code = schema_definitions_to_code(definitions)
    exec(definitions_code, globals())

    struct_code = schema_to_struct_code('Duba', schema, definitions)
    exec(struct_code, globals())
    duba = Duba(foo={
        'a1': 5,
        'a2': 1.5
    },
                ss=ComplexStruct(simple=SimpleStruct(name='abc')),
                enum=2,
                s="xyz",
                i=10,
                all=6,
                a=[10, 3])
    assert duba.ss.simple.name == 'abc'