Esempio n. 1
0
def test_add_additional_artifact():
    artifact = Artifact('abc.txt')
    artifact.artifacts_dir = 'artifacts'
    new_artifact = artifact.add_additional_artifact('def.txt', '.txt')
    assert new_artifact.final
    assert new_artifact.additional
    assert new_artifact.key in artifact.inputs()
Esempio n. 2
0
def init_jinja_filter():
    artifact = Artifact()
    artifact.name = "" # None causes problems with os.stat

    f = JinjaTextFilter()
    f.artifact = artifact
    f.log = Constants.NULL_LOGGER
    return f
Esempio n. 3
0
def test_artifact_data_dict_to_numbered_dict():
    artifact = Artifact()
    artifact.data_dict = OrderedDict()
    artifact.data_dict['a'] = 10
    artifact.data_dict['b'] = 20

    numbered_dict = artifact.convert_data_dict_to_numbered_dict()
    assert numbered_dict.keys()[0] == '00000:a'
    assert numbered_dict.keys()[1] == '00001:b'
    assert numbered_dict['00000:a'] == 10
    assert numbered_dict['00001:b'] == 20
Esempio n. 4
0
def test_artifact_row():
    a1 = Artifact()
    a1.key = "abc.txt"
    a1.batch_id = 1
    a1.batch_order = 1
    a1.source = 'run'
    a1.elapsed = 5
    a1.hashstring = "abcde123"

    db = SqliteDatabase(dbfile=None)
    db.append_artifact(a1)

    row = db.artifact_row(a1)
    assert row['key'] == a1.key
    assert row['batch_id'] == a1.batch_id
Esempio n. 5
0
def test_add_additional_artifact():
    artifact = Artifact()
    artifact.key = 'abc.txt'
    artifact.artifacts_dir = 'artifactsx'
    artifact.hashstring = "abcdef123"

    new_artifact = artifact.add_additional_artifact('def.txt', '.txt')

    assert is_empty_dict(new_artifact._inputs)
    assert new_artifact.args.keys() == ["globals"]
    assert is_empty_dict(new_artifact.args['globals'])
    assert new_artifact.additional
    assert new_artifact.artifact_class_source
    assert new_artifact.artifacts_dir == 'artifactsx'
    assert new_artifact.final
    assert new_artifact.key in artifact.inputs()
    assert new_artifact.state == 'new'
Esempio n. 6
0
def test_add_additional_artifact():
    db = dexy.utils.get_db(logsdir=None, dbfile=None)
    hashstring = "abcdef123"
    artifact = Artifact()
    artifact.db = db
    artifact.key = 'abc.txt'
    artifact.artifacts_dir = 'artifactsx'
    artifact.hashstring = hashstring

    new_artifact = artifact.add_additional_artifact('def.txt', '.txt')

    assert is_empty_dict(new_artifact._inputs)
    assert new_artifact.args.keys() == ["globals"]
    assert is_empty_dict(new_artifact.args['globals'])
    assert new_artifact.additional
    assert new_artifact.artifact_class_source
    assert new_artifact.artifacts_dir == 'artifactsx'
    assert new_artifact.final
    assert new_artifact.key in artifact.inputs()
    assert new_artifact.state == 'new'
    assert new_artifact.inode == hashstring

    assert db.artifact_row(new_artifact)['key'] == new_artifact.key
Esempio n. 7
0
def test_artifact_filenames_file_key():
    artifact = Artifact('abc.txt')
    artifact.ext = '.out'
    assert artifact.canonical_filename() == 'abc.out'
    assert artifact.long_canonical_filename() == 'abc.txt.out'
Esempio n. 8
0
def test_artifact_filenames_file_key_with_filters():
    artifact = Artifact('abc.txt|def|ghi')
    artifact.ext = '.out'
    assert artifact.canonical_filename() == 'abc.out'
    assert artifact.long_canonical_filename() == 'abc.txt-def-ghi.out'
Esempio n. 9
0
def test_artifact_filenames_simple_key():
    artifact = Artifact()
    artifact.key = 'abc'
    artifact.ext = '.out'
    assert artifact.canonical_filename() == 'abc.out'
    assert artifact.long_canonical_filename() == 'abc'
Esempio n. 10
0
def test_append_and_update_artifacts():
    a1 = Artifact()
    a1.key = "abc.txt"
    a1.batch_id = 1
    a1.batch_order = 1
    a1.source = 'run'
    a1.elapsed = 5
    a1.hashstring = "abcde123"

    a2 = Artifact()
    a2.key = "def.txt"
    a2.hashstring = "abcde456"
    a2.batch_id = 1
    a2.batch_order = 2

    db = SqliteDatabase(dbfile=None)
    db.append_artifacts([a1, a2])

    assert len(db.conn.execute("select * from artifacts").fetchall()) == 2
    assert len(db.conn.execute("select * from artifacts where id = ?", (a1.unique_key(),)).fetchall()) == 1
    assert len(db.conn.execute("select * from artifacts where id = ?", (a2.unique_key(),)).fetchall()) == 1
    assert db.conn.execute("select elapsed from artifacts where id = ?", (a1.unique_key(),)).fetchall()[0][0] == 5

    a1.elapsed = 10

    db.update_artifact(a1)
    assert db.conn.execute("select elapsed from artifacts where id = ?", (a1.unique_key(),)).fetchall()[0][0] == 10