def test_finalize_childs(capsys): def add_test_share(f): def _cr(): return f.entity() def _fin(value): print("finalize-{}".format(value)) assert(value == f.entity()) return f.share("test-{}".format(f.entity()), _cr, _fin) pa = factories.EntityWithStore(name="pa") a = factories.Entity(name="a", parent=pa) b = factories.Entity(name="b", parent=pa) c = factories.Entity(name="c", parent=pa) pa.add_child(a) pa.add_child(b) pa.add_child(c) add_test_share(pa) add_test_share(c) pa.finalize() out, _ = capsys.readouterr() assert("finalize-pa" in out) assert("finalize-c" in out)
def test_config(): st = factories.StoreWithNode() pa = factories.EntityWithStore(store=st) ch = factories.Entity(parent=pa) c2 = factories.Entity(parent=ch) assert(pa.config("image") == st.get("image")) assert(ch.config("image") == st.get("image")) assert(c2.config("image") == st.get("image"))
def test_add_child(): pa = factories.EntityWithStore(name="pa") a = factories.Entity(name="a", parent=pa) b = factories.Entity(name="b", parent=pa) c = factories.Entity(name="c", parent=pa) pa.add_child(a) pa.add_child(b) pa.add_child(c) assert(pa._childs == [a, b, c])
def test__child_index(): pa = factories.EntityWithStore(name="pa") a = factories.Entity(name="a", parent=pa) b = factories.Entity(name="b", parent=pa) c = factories.Entity(name="c", parent=pa) pa.add_child(a) pa.add_child(b) pa.add_child(c) assert(pa._child_index("b") == 1) assert(pa._child_index("x") == None)
def test_each_child(): pa = factories.EntityWithStore(name="pa") a = factories.Entity(name="a", parent=pa) b = factories.Entity(name="b", parent=pa) c = factories.Entity(name="c", parent=pa) pa.add_child(a) pa.add_child(b) pa.add_child(c) assert(pa.each_child("entity") == ["a", "b", "c"]) assert(pa.each_child("entity", reverse=True) == ["c", "b", "a"])
def test__reorder_childs_cycle(): pa = factories.EntityWithStore(name="pa") a = factories.Entity(name="a", parent=pa) a.requires = ["b"] b = factories.Entity(name="b", parent=pa) b.requires = ["a"] pa.add_child(a) pa.add_child(b) assert(pa.children() == [a, b]) with raises(error.Bug): pa._reorder_childs()
def test_get_child(): pa = factories.EntityWithStore(name="pa") a = factories.Entity(name="a", parent=pa) b = factories.Entity(name="b", parent=pa) c = factories.Entity(name="c", parent=pa) pa.add_child(a) pa.add_child(b) pa.add_child(c) assert(pa.get_child("a") == a) assert(pa.get_child("b") == b) assert(pa.get_child("c") == c) assert(pa.get_child("d") == None)
def test_validate(): pa = factories.EntityWithStore() a = factories.Entity(name="a", parent=pa) b = factories.Entity(name="b", parent=pa) c = factories.Entity(name="c", parent=pa) pa.add_child(a) pa.add_child(b) pa.add_child(c) pa.validate(["a", "b", "c"]) with raises(error.NotFound): pa.validate(["a", "b", "d"])
def test__reorder_childs(): pa = factories.EntityWithStore(name="pa") a = factories.Entity(name="a", parent=pa) a.requires = ["c"] b = factories.Entity(name="b", parent=pa) b.requires = ["a"] c = factories.Entity(name="c", parent=pa) pa.add_child(a) pa.add_child(b) pa.add_child(c) assert(pa.children() == [a, b , c]) pa._reorder_childs() assert(pa.children() == [c, a , b])
def test_store(): s = factories.StoreWithNode() e = factories.Entity(store=s) assert(e.store() == s)
def test_entity_path(): p = factories.EntityWithStore() c = factories.Entity(parent=p) assert(c.entity_path() == [p.entity(), c.entity()])
def test_has_parent(): p = factories.EntityWithStore() c = factories.Entity(parent=p) assert(c.has_parent() == True)