def download_project_sources(self, snapshot=None, url=None):
     Builder.download_project_sources(self, snapshot, url)
     godep_path = os.path.join(os.environ["GOPATH"], "src/github.com/trustedanalytics/")
     if not os.path.exists(godep_path):
         os.makedirs(godep_path)
     if not os.path.exists(os.path.join(godep_path, self.name)):
         os.symlink(os.path.join(PLATFORM_PARENT_PATH, self.name), os.path.join(godep_path, self.name))
Esempio n. 2
0
def test_collection_mid_uplink_zaa():
    """
    Same as for ``aa``, but with different naming
    """

    logger.setLevel(logging.DEBUG)

    class A:
        b = Uplink()

    class B:
        zaa = Collection(A)
        c = Uplink()

    class C:
        bb = Collection(B)

    B.c.linksTo(C, C.bb)
    A.b.linksTo(B, B.zaa)

    builder = Builder(B).withA(HavingIn(B.zaa, 1),
                               HavingIn(C.bb, 1))

    c = builder.build().c

    assert len(c.bb) == 2
    assert len(c.bb[0].zaa) == 2
    assert len(c.bb[1].zaa) == 2
Esempio n. 3
0
def test_modifier_supply():
    class A:
        foo = 0
        bar = 0

    class B:
        a = Unique(A)

    mod1 = InstanceModifier(A).thatSets(foo=1)
    mod2 = InstanceModifier(A).thatSets(bar=1)

    b1 = Builder(B).withA(mod1, mod2).build()
    b2 = Builder(B).withA([mod1, mod2]).build()
    b3 = Builder(B).withA(*[mod1, mod2]).build()
    b4 = Builder(B).withA([mod1], [mod2]).build()
    b5 = Builder(B).withA([mod1], mod2).build()

    def test(b):
        assert b.a.foo == 1
        assert b.a.bar == 1

    test(b1)
    test(b2)
    test(b3)
    test(b4)
    test(b5)
Esempio n. 4
0
def test_local_reused():
    u1 = Builder(U).build()
    u2 = Builder(U).build()

    assert isinstance(u1.a, A)
    assert isinstance(u1.b, A)
    assert u1.a == u2.a
    assert u1.a != u1.b
Esempio n. 5
0
def test_given_chains():
    c = Builder(C).build()
    c2 = Builder(C).withA(Given(B.a, c.b.a)).build()

    assert c2.b.a == c.b.a

    c3 = Builder(C).withA(Given(C.b, c.b)).build()

    assert c3.b == c.b
Esempio n. 6
0
 def download_project_sources(self, snapshot=None, url=None):
     Builder.download_project_sources(self, snapshot, url)
     godep_path = os.path.join(os.environ["GOPATH"],
                               'src/github.com/trustedanalytics/')
     if not os.path.exists(godep_path):
         os.makedirs(godep_path)
     if not os.path.exists(os.path.join(godep_path, self.name)):
         os.symlink(os.path.join(PLATFORM_PARENT_PATH, self.name),
                    os.path.join(godep_path, self.name))
Esempio n. 7
0
def test_reuse():
    d1 = Builder(Down).withA(InstanceModifier(Up).thatSets(id=1)).build()

    # assert d1 in d1.up.downs  FIXME: this should work

    d2 = Builder(Down).withA(InstanceModifier(Up).thatSets(id=1)).build()
    d3 = Builder(Down).withA(InstanceModifier(Up).thatSets(id=2)).build()

    assert d1.up == d2.up
    # assert d1 in d2.up.downs  FIXME: this should work
    # assert d2 in d2.up.downs  FIXME: this should work
    assert d1.up != d3.up
Esempio n. 8
0
def test_reused_keys_mod():
    builder = Builder(ReusingKey).withA(InstanceModifier(A).thatSets(b='ololo'))
    rk1 = builder.build()
    rk2 = builder.build()
    rk3 = builder.withA(InstanceModifier(A).thatSets(b='hahaha')).build()

    assert isinstance(rk1.a, A)
    assert isinstance(rk2.a, A)
    assert isinstance(rk3.a, A)
    assert rk1.a == rk2.a
    assert rk1.b == rk2.b
    assert rk1.a != rk3.a
Esempio n. 9
0
def test_maybe_enabled():
    class A:
        pass

    class B:
        a = Maybe(Unique(A))

    b1 = Builder(B).withA(Enabled(B.a)).build()
    b2 = Builder(B).build()

    assert b1.a is not None
    assert b2.a is None
Esempio n. 10
0
def test_maybe_disabled():
    class A:
        pass

    class B:
        a = Maybe(Unique(A), enabled=True)

    b1 = Builder(B).withA(Disabled(B.a)).build()
    b2 = Builder(B).build()

    assert b1.a is None
    assert b2.a
Esempio n. 11
0
def test_maybe_default():
    class A:
        pass

    class B:
        a = Maybe(Unique(A), enabled=True)

    b1 = Builder(B).build()
    b2 = Builder(B).build()

    assert b1.a
    assert b2.a
Esempio n. 12
0
def test_uplink_reset():
    class B:
        a = Uplink()

    class A:
        bs = Collection(B)

    B.a.linksTo(A, A.bs)

    a = Builder(A).withA(NumberOf(A.bs, 0)).build()
    b = Builder(B).build()

    assert a != b.a
Esempio n. 13
0
def test_reused_keys_mod():
    builder = Builder(ReusingKey).withA(
        InstanceModifier(A).thatSets(b='ololo'))
    rk1 = builder.build()
    rk2 = builder.build()
    rk3 = builder.withA(InstanceModifier(A).thatSets(b='hahaha')).build()

    assert isinstance(rk1.a, A)
    assert isinstance(rk2.a, A)
    assert isinstance(rk3.a, A)
    assert rk1.a == rk2.a
    assert rk1.b == rk2.b
    assert rk1.a != rk3.a
Esempio n. 14
0
def test_not_touches():
    class A:
        pass

    class B:
        a = Unique(A)

    b1 = Builder(B).withA(Given(B.a, 8)).build()
    assert b1.a == 8

    b2 = Builder(B).build()

    assert isinstance(b2.a, A)
Esempio n. 15
0
def test_Having_instances():
    class A:
        pass

    class B:
        a = Collection(A)

    myA = A()
    b = Builder(B).withA(HavingIn(B.a, myA)).build()

    assert myA in b.a

    b2 = Builder(B).withA(HavingIn(B.a, myA)).withA(NumberOf(B.a, 3)).build()
    assert myA in b2.a
    assert len(b2.a) == 3
Esempio n. 16
0
def test_class_modifiers_over_lambda():
    modifier = InstanceModifier(A).thatDoes(lambda a: setattr(a, 'value', 8))

    a = Builder(A).withA(modifier).build()

    assert isinstance(a, A)
    assert a.value == 8
Esempio n. 17
0
def test_key_is_unique():
    class A:
        a = Key(Random(start=1, end=100))

    values = [Builder(A).build().a for _ in xrange(100)]

    assert sorted(list(set(values))) == sorted(values)
Esempio n. 18
0
def test_thatSetsCarefully_is_careful():
    with pytest.raises(AssertionError) as e:
        Builder(CarefulA).withA(
            InstanceModifier(CarefulA).thatCarefullySets(foo='bar')).build()

    assert 'foo' in e.value.message
    assert 'missing' in e.value.message
Esempio n. 19
0
def test_uid_is_random():
    class A:
        a = Uid()

    values = [Builder(A).build().a for _ in xrange(100)]

    assert sorted(list(set(values))) == sorted(values)
Esempio n. 20
0
def test_maybe():
    class A:
        b = Uplink()

    class B:
        a = Maybe(Unique(A))

    A.b.linksTo(B, B.a)

    b1 = Builder(B).build()
    b2 = Builder(B).withA(Enabled(B.a)).build()
    a = Builder(A).withA(Enabled(B.a)).build()

    assert not b1.a
    assert isinstance(b2.a, A)
    assert b2.a.b == b2
    assert a.b.a == a
Esempio n. 21
0
def test_thatSets():
    class A:
        pass

    a = Builder(A).withA(InstanceModifier(A).thatSets(ololo=1,
                                                      hahaha=2)).build()
    assert a.ololo == 1
    assert a.hahaha == 2
Esempio n. 22
0
def test_class_passed_to_lambda():
    def check_instance_passed(instance):
        assert isinstance(instance, A)

    class A:
        a = Lambda(check_instance_passed)

    Builder(A).build()
Esempio n. 23
0
def test_random_number(run):
    class A:
        a = Random(1, 10)

    value = Builder(A).build()

    assert value.a >= 1
    assert value.a <= 10
Esempio n. 24
0
def test_lots_of_big_squads():
    player = Builder(Player).withA(NumberOf(Squad.units, 5),
                                   NumberOf(Player.squads, 3)).build()
    assert len(player.squads) == 3
    for squad in player.squads:
        assert isinstance(squad.leader, Hero)
        assert squad.leader.squad == squad
        assert len(squad.units) == 5
Esempio n. 25
0
def test_uid_gives_valid_uid():
    class A:
        a = Uid()

    value = Builder(A).build().a

    import uuid
    uuid.UUID(value)
Esempio n. 26
0
def test_random_string(run):
    class A:
        a = Random(1, 10, 'foo_%s')

    value = Builder(A).build().a

    assert value[:4] == 'foo_'
    assert int(value[4:]) >= 1
    assert int(value[4:]) <= 10
Esempio n. 27
0
def test_Y_reverse():
    d = Builder(D).build()

    assert d
    assert isinstance(d, D)
    assert isinstance(d.r, R)
    assert isinstance(d.l, L)
    assert d.l.d == d
    assert d.r.d == d
Esempio n. 28
0
def test_simple():
    b = Builder(B).build()
    assert isinstance(b, B)
    assert isinstance(b.a, A)
    assert isinstance(b.a.b, B)
    assert b == b.a.b

    assert not A.b.value
    assert not B.a.value
Esempio n. 29
0
def test_lambda_executed_twice():
    from itertools import count
    gen = count()

    class A:
        a = Lambda(lambda _: gen.next())

    values = [Builder(A).build().a for _ in xrange(2)]

    assert (values[0], values[1]) == (0, 1)
Esempio n. 30
0
def test_class_modifier_as_class():
    def set_value(instance):
        A.value = 5

    M = InstanceModifier(A).thatDoes(set_value)

    a = Builder(A).withA(M).build()

    assert isinstance(a, A)
    assert a.value == 5
Esempio n. 31
0
def test_reverse():
    a = Builder(A).build()

    assert isinstance(a, A)
    assert isinstance(a.b, B)
    assert isinstance(a.b.a, A)
    assert a == a.b.a

    assert not A.b.value
    assert not B.a.value
Esempio n. 32
0
def test_Y():
    r = Builder(R).build()
    assert r
    assert isinstance(r, R)
    assert isinstance(r.d, D)
    assert isinstance(r.d.l, L)
    assert r.d.r == r
    assert r.d.l.d == r.d

    assert not D.r.value
    assert not D.l.value
 def __init__(self, app_info):
     Builder.__init__(self, app_info)