Beispiel #1
0
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)
Beispiel #2
0
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"))
Beispiel #3
0
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])
Beispiel #4
0
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)
Beispiel #5
0
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"])
Beispiel #6
0
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()
Beispiel #7
0
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)
Beispiel #8
0
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"])
Beispiel #9
0
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])
Beispiel #10
0
def test_store():
    s = factories.StoreWithNode()
    e = factories.Entity(store=s)

    assert(e.store() == s)
Beispiel #11
0
def test_entity_path():
    p = factories.EntityWithStore()
    c = factories.Entity(parent=p)

    assert(c.entity_path() == [p.entity(), c.entity()])
Beispiel #12
0
def test_has_parent():
    p = factories.EntityWithStore()
    c = factories.Entity(parent=p)

    assert(c.has_parent() == True)