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()
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
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
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
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'
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
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'
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'
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'
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