Ejemplo n.º 1
0
def test_properties__infinite_loop():
    from alchemyjsonschema import AlsoChildrenWalker, RelationDesicion
    from alchemyjsonschema.dictify import get_reference
    target = _makeOne(AlsoChildrenWalker, relation_decision=RelationDesicion())
    result = target(X)
    ys = result["properties"]["ys"]
    zs = get_reference(ys, result)["properties"]["zs"]
    xs = get_reference(zs, result)["properties"]
    assert "required" in result
    assert list(sorted(result["properties"])) == ["id", "ys"]
    assert xs["id"]["description"] == "primary key"
Ejemplo n.º 2
0
def test_properties__infinite_loop():
    from alchemyjsonschema import AlsoChildrenWalker, RelationDesicion
    from alchemyjsonschema.dictify import get_reference
    target = _makeOne(AlsoChildrenWalker, relation_decision=RelationDesicion())
    result = target(X)
    ys = result["properties"]["ys"]
    zs = get_reference(ys, result)["properties"]["zs"]
    xs = get_reference(zs, result)["properties"]
    assert "required" in result
    assert list(sorted(result["properties"])) == ["id", "ys"]
    assert xs["id"]["description"] == "primary key"
Ejemplo n.º 3
0
def test_properties__default_depth_is__3__traverse_depth3():
    from alchemyjsonschema import AlsoChildrenWalker
    from alchemyjsonschema.dictify import get_reference
    target = _makeOne(AlsoChildrenWalker)
    result = target(A0, depth=3)

    assert "required" in result
    assert list(sorted(result["properties"])) == ["children", "pk"]
    children0 = get_reference(result["properties"]["children"]["items"], result)
    children1 = get_reference(children0["properties"]["children"]["items"], result)
    assert children1["properties"]["pk"]["description"] == "primary key2"
Ejemplo n.º 4
0
def test_properties__default_depth_is__3__traverse_depth3():
    from alchemyjsonschema import AlsoChildrenWalker
    from alchemyjsonschema.dictify import get_reference
    target = _makeOne(AlsoChildrenWalker)
    result = target(A0, depth=3)

    assert "required" in result
    assert list(sorted(result["properties"])) == ["children", "pk"]
    children0 = get_reference(result["properties"]["children"]["items"],
                              result)
    children1 = get_reference(children0["properties"]["children"]["items"],
                              result)
    assert children1["properties"]["pk"]["description"] == "primary key2"
Ejemplo n.º 5
0
def test_properties__default_depth_is__traverse_all_chlidren():
    from alchemyjsonschema import StructuralWalker
    from alchemyjsonschema.dictify import get_reference
    target = _makeOne(StructuralWalker)
    result = target(A0)

    assert "required" in result
    assert list(sorted(result["properties"])) == ["children", "pk"]
    children0 = get_reference(result["properties"]["children"]["items"], result)
    children1 = get_reference(children0["properties"]["children"]["items"], result)
    children2 = get_reference(children1["properties"]["children"]["items"], result)
    children3 = get_reference(children2["properties"]["children"]["items"], result)
    children4 = get_reference(children3["properties"]["children"]["items"], result)
    assert children4["properties"]["pk"]["description"] == "primary key5"
Ejemplo n.º 6
0
def test_properties__default_depth_is__traverse_all_chlidren():
    from alchemyjsonschema import StructuralWalker
    from alchemyjsonschema.dictify import get_reference
    target = _makeOne(StructuralWalker)
    result = target(A0)

    assert "required" in result
    assert list(sorted(result["properties"])) == ["children", "pk"]
    children0 = get_reference(result["properties"]["children"]["items"],
                              result)
    children1 = get_reference(children0["properties"]["children"]["items"],
                              result)
    children2 = get_reference(children1["properties"]["children"]["items"],
                              result)
    children3 = get_reference(children2["properties"]["children"]["items"],
                              result)
    children4 = get_reference(children3["properties"]["children"]["items"],
                              result)
    assert children4["properties"]["pk"]["description"] == "primary key5"