add more templates
This commit is contained in:
parent
81af9579dc
commit
e8360c88b9
1 changed files with 179 additions and 97 deletions
|
|
@ -35,35 +35,6 @@ def test_find_lookup_by_one_alias(tmp_path: Path) -> None:
|
|||
assert uuid == find._project_lookup_by_alias(db, "fun_project")
|
||||
conn.close()
|
||||
|
||||
|
||||
def test_find_project(tmp_path: Path) -> None:
|
||||
cinit.create(tmp_path)
|
||||
db = tmp_path / "backlogger.db"
|
||||
dl.unlock(str(db), dataset=str(tmp_path))
|
||||
conn = sqlite3.connect(db)
|
||||
c = conn.cursor()
|
||||
uuid = "test_uuid"
|
||||
alias_str = "fun_project"
|
||||
tag_str = "tt"
|
||||
owner = "tester"
|
||||
code = "test_code"
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
conn.commit()
|
||||
|
||||
assert uuid == find.find_project(tmp_path, "fun_project")
|
||||
|
||||
uuid = "test_uuid2"
|
||||
alias_str = "fun_project"
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
conn.commit()
|
||||
|
||||
with pytest.raises(Exception):
|
||||
assert uuid == find._project_lookup_by_alias(tmp_path, "fun_project")
|
||||
conn.close()
|
||||
|
||||
|
||||
def test_find_lookup_by_id(tmp_path: Path) -> None:
|
||||
db = make_sql(tmp_path)
|
||||
conn = sqlite3.connect(db)
|
||||
|
|
@ -85,75 +56,6 @@ def test_find_lookup_by_id(tmp_path: Path) -> None:
|
|||
assert code == result[4]
|
||||
|
||||
|
||||
def test_db_lookup(tmp_path: Path) -> None:
|
||||
db = make_sql(tmp_path)
|
||||
conn = sqlite3.connect(db)
|
||||
c = conn.cursor()
|
||||
|
||||
corr = "f_A"
|
||||
ensemble = "SF_A"
|
||||
code = "openQCD"
|
||||
meas_path = "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf"
|
||||
uuid = "Project_A"
|
||||
pars = "{par_A: 3.0, par_B: 5.0}"
|
||||
parameter_file = "projects/Project_A/myinput.in"
|
||||
c.execute("INSERT INTO backlogs (name, ensemble, code, path, project, parameters, parameter_file, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(corr, ensemble, code, meas_path, uuid, pars, parameter_file))
|
||||
conn.commit()
|
||||
|
||||
results = find._db_lookup(db, ensemble, corr, code)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, "SF_B", corr, code)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, "sfcf")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_A")
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_B")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, code, parameters = "{par_A: 3.0, par_B: 4.0}")
|
||||
assert results.empty
|
||||
|
||||
corr = "g_A"
|
||||
ensemble = "SF_A"
|
||||
code = "openQCD"
|
||||
meas_path = "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf"
|
||||
uuid = "Project_A"
|
||||
pars = "{par_A: 3.0, par_B: 4.0}"
|
||||
parameter_file = "projects/Project_A/myinput.in"
|
||||
c.execute("INSERT INTO backlogs (name, ensemble, code, path, project, parameters, parameter_file, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(corr, ensemble, code, meas_path, uuid, pars, parameter_file))
|
||||
conn.commit()
|
||||
|
||||
corr = "f_A"
|
||||
results = find._db_lookup(db, ensemble, corr, code)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, "SF_B", corr, code)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, "sfcf")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_A")
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, "g_A", code, project = "Project_A")
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_B")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code, project = "Project_B")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code, parameters = "{par_A: 3.0, par_B: 4.0}")
|
||||
assert len(results) == 1
|
||||
|
||||
conn.close()
|
||||
|
||||
|
||||
def test_time_filter() -> None:
|
||||
record_A = ["f_A", "ensA", "sfcf", "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf", "SF_A", '{par_A: 5.0, par_B: 5.0}', "projects/SF_A/input.in",
|
||||
'2025-03-26 12:55:18.229966', '2025-03-26 12:55:18.229966'] # only created
|
||||
|
|
@ -238,3 +140,183 @@ def test_time_filter() -> None:
|
|||
|
||||
with pytest.raises(ValueError):
|
||||
results = find._time_filter(df, created_before='2023-03-26 12:55:18.229966')
|
||||
|
||||
|
||||
def test_db_lookup(tmp_path: Path) -> None:
|
||||
db = make_sql(tmp_path)
|
||||
conn = sqlite3.connect(db)
|
||||
c = conn.cursor()
|
||||
|
||||
corr = "f_A"
|
||||
ensemble = "SF_A"
|
||||
code = "openQCD"
|
||||
meas_path = "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf"
|
||||
uuid = "Project_A"
|
||||
pars = "{par_A: 3.0, par_B: 5.0}"
|
||||
parameter_file = "projects/Project_A/myinput.in"
|
||||
c.execute("INSERT INTO backlogs (name, ensemble, code, path, project, parameters, parameter_file, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(corr, ensemble, code, meas_path, uuid, pars, parameter_file))
|
||||
conn.commit()
|
||||
|
||||
results = find._db_lookup(db, ensemble, corr, code)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, "SF_B", corr, code)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, "sfcf")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_A")
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_B")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, code, parameters = "{par_A: 3.0, par_B: 4.0}")
|
||||
assert results.empty
|
||||
|
||||
corr = "g_A"
|
||||
ensemble = "SF_A"
|
||||
code = "openQCD"
|
||||
meas_path = "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf"
|
||||
uuid = "Project_A"
|
||||
pars = "{par_A: 3.0, par_B: 4.0}"
|
||||
parameter_file = "projects/Project_A/myinput.in"
|
||||
c.execute("INSERT INTO backlogs (name, ensemble, code, path, project, parameters, parameter_file, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(corr, ensemble, code, meas_path, uuid, pars, parameter_file))
|
||||
conn.commit()
|
||||
|
||||
corr = "f_A"
|
||||
results = find._db_lookup(db, ensemble, corr, code)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, "SF_B", corr, code)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code)
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, "sfcf")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_A")
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, "g_A", code, project = "Project_A")
|
||||
assert len(results) == 1
|
||||
results = find._db_lookup(db, ensemble, corr, code, project = "Project_B")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code, project = "Project_B")
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
||||
assert results.empty
|
||||
results = find._db_lookup(db, ensemble, "g_A", code, parameters = "{par_A: 3.0, par_B: 4.0}")
|
||||
assert len(results) == 1
|
||||
|
||||
conn.close()
|
||||
|
||||
|
||||
def test_sfcf_filter() -> None:
|
||||
record_0 = ["f_A", "ensA", "sfcf", "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf", "SF_A", '{par_A: 5.0, par_B: 5.0}', "projects/SF_A/input.in",
|
||||
'2025-03-26 12:55:18.229966', '2025-03-26 12:55:18.229966']
|
||||
record_1 = ["f_A", "ensA", "sfcf", "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf", "SF_A", '{par_A: 5.0, par_B: 5.0}', "projects/SF_A/input.in",
|
||||
'2025-03-26 12:55:18.229966', '2025-03-26 12:55:18.229966']
|
||||
record_2 = ["f_P", "ensA", "sfcf", "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf", "SF_A", '{par_A: 5.0, par_B: 5.0}', "projects/SF_A/input.in",
|
||||
'2025-03-26 12:55:18.229966', '2025-03-26 12:55:18.229966']
|
||||
record_3 = ["f_P", "ensA", "sfcf", "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf", "SF_A", '{par_A: 5.0, par_B: 5.0}', "projects/SF_A/input.in",
|
||||
'2025-03-26 12:55:18.229966', '2025-03-26 12:55:18.229966']
|
||||
record_4 = []
|
||||
record_5 = []
|
||||
record_6 = []
|
||||
record_7 = []
|
||||
record_8 = []
|
||||
record_9 = []
|
||||
data = [
|
||||
record_0,
|
||||
record_1,
|
||||
record_2,
|
||||
record_3,
|
||||
record_4,
|
||||
record_5,
|
||||
record_6,
|
||||
record_7,
|
||||
record_8,
|
||||
record_9,
|
||||
]
|
||||
cols = ["name",
|
||||
"ensemble",
|
||||
"code",
|
||||
"path",
|
||||
"project",
|
||||
"parameters",
|
||||
"parameter_file",
|
||||
"created_at",
|
||||
"updated_at"]
|
||||
df = pd.DataFrame(data,columns=cols)
|
||||
|
||||
assert True
|
||||
|
||||
|
||||
def test_openQCD_filter() -> None:
|
||||
assert True
|
||||
|
||||
|
||||
def test_find_record() -> None:
|
||||
assert True
|
||||
|
||||
|
||||
def test_find_project(tmp_path: Path) -> None:
|
||||
cinit.create(tmp_path)
|
||||
db = tmp_path / "backlogger.db"
|
||||
dl.unlock(str(db), dataset=str(tmp_path))
|
||||
conn = sqlite3.connect(db)
|
||||
c = conn.cursor()
|
||||
uuid = "test_uuid"
|
||||
alias_str = "fun_project"
|
||||
tag_str = "tt"
|
||||
owner = "tester"
|
||||
code = "test_code"
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
conn.commit()
|
||||
|
||||
assert uuid == find.find_project(tmp_path, "fun_project")
|
||||
|
||||
uuid = "test_uuid2"
|
||||
alias_str = "fun_project"
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
conn.commit()
|
||||
|
||||
with pytest.raises(Exception):
|
||||
assert uuid == find._project_lookup_by_alias(tmp_path, "fun_project")
|
||||
conn.close()
|
||||
|
||||
|
||||
def test_list_projects(tmp_path: Path) -> None:
|
||||
cinit.create(tmp_path)
|
||||
db = tmp_path / "backlogger.db"
|
||||
dl.unlock(str(db), dataset=str(tmp_path))
|
||||
conn = sqlite3.connect(db)
|
||||
c = conn.cursor()
|
||||
uuid = "test_uuid"
|
||||
alias_str = "fun_project"
|
||||
tag_str = "tt"
|
||||
owner = "tester"
|
||||
code = "test_code"
|
||||
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
uuid = "test_uuid2"
|
||||
alias_str = "fun_project2"
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
uuid = "test_uuid3"
|
||||
alias_str = "fun_project3"
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
uuid = "test_uuid4"
|
||||
alias_str = "fun_project4"
|
||||
c.execute("INSERT INTO projects (id, aliases, customTags, owner, code, created_at, updated_at) VALUES (?, ?, ?, ?, ?, datetime('now'), datetime('now'))",
|
||||
(uuid, alias_str, tag_str, owner, code))
|
||||
conn.commit()
|
||||
conn.close()
|
||||
results = find.list_projects(tmp_path)
|
||||
assert len(results) == 4
|
||||
for i in range(4):
|
||||
assert len(results[i]) == 2
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue