コード例 #1
0
def test_flatten_multiple_combiners():
    test_schema = {"z": None}
    expected = test_schema.copy()
    for letter, combiner in zip(string.ascii_lowercase, COMBINERS):
        test_schema[combiner] = [{letter: None}]
        expected[letter] = None

    flattener = JsonSchemaFlattener({})
    flattened = flattener._flatten_combiners(test_schema, ())
    assert flattened == expected
コード例 #2
0
def test_flatten_combiners_single_level(combiner):
    test_schema = {
        "a": None,
        combiner: [{
            "b": None
        }, {
            "c": None
        }, {
            "d": None
        }]
    }
    flattener = JsonSchemaFlattener({})
    flattened = flattener._flatten_combiners(test_schema, ())
    assert flattened == {"a": None, "b": None, "c": None, "d": None}
コード例 #3
0
def test_flatten_combiners_overwrites(combiner):
    test_schema = {"a": None, combiner: [{"a": "Foo"}]}
    flattener = JsonSchemaFlattener({})
    flattened = flattener._flatten_combiners(test_schema, ())
    assert flattened == {"a": "Foo"}
コード例 #4
0
def test_flatten_combiners_nested(combiner):
    test_schema = {"a": {"Foo": None}, combiner: [{"a": {"Bar": None}}]}
    flattener = JsonSchemaFlattener({})
    flattened = flattener._flatten_combiners(test_schema, ())
    assert flattened == {"a": {"Foo": None, "Bar": None}}