Exemplo n.º 1
0
def test_lazy_proxy_dict_prevents_creation_with_artifacts_of_same_name(repo):
    foo = repo.put(artifact_record(name='foo', value=42))
    foo2 = repo.put(artifact_record(name='foo', value=100))

    msg = """Only artifacts with distinct names can be used in a lazy_proxy_dict.
Offending names: {'foo': 2}
Use the option `group_artifacts_of_same_name=True` if you want a list of proxies to be returned under the respective key.
"""
    with pytest.raises(ValueError) as excinfo:
        p.lazy_proxy_dict([foo, foo2])

    assert msg in str(excinfo.value)
Exemplo n.º 2
0
def test_lazy_proxy_dict_with_dict_input(repo):
    foo1 = repo.put(artifact_record(name='foo', value=42))
    foo2 = repo.put(artifact_record(name='foo', value=100))

    d = p.lazy_proxy_dict({'foo1': foo1, 'foo2': foo2})

    assert d['foo1'] == 42
    assert d['foo2'] == 100
Exemplo n.º 3
0
def test_lazy_proxy_dict_allows_for_grouping_of_artifacts_of_same_name(repo):
    foo = repo.put(artifact_record(name='foo', value=42))
    foo2 = repo.put(artifact_record(name='foo', value=100))
    bar = repo.put(artifact_record(name='bar', value=55))

    ld = p.lazy_proxy_dict([foo, foo2, bar], group_artifacts_of_same_name=True)

    assert set(ld.keys()) == set(['bar', 'foo'])

    ld['bar'] == bar
    ld['foo'] == [foo, foo2]