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