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
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}
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"}
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}}