Esempio n. 1
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
Esempio n. 2
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. 3
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. 4
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