add very simple tests or code filter and openQCD filter, fix json par strings
This commit is contained in:
parent
4673751dc3
commit
8db8d46a06
1 changed files with 102 additions and 25 deletions
|
|
@ -57,17 +57,17 @@ def test_find_lookup_by_id(tmp_path: Path) -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_time_filter() -> None:
|
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",
|
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
|
'2025-03-26 12:55:18.229966', '2025-03-26 12:55:18.229966'] # only created
|
||||||
record_B = ["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",
|
record_B = ["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-04-26 12:55:18.229966'] # created and updated
|
'2025-03-26 12:55:18.229966', '2025-04-26 12:55:18.229966'] # created and updated
|
||||||
record_C = ["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",
|
record_C = ["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",
|
||||||
'2026-03-26 12:55:18.229966', '2026-05-26 12:55:18.229966'] # created and updated later
|
'2026-03-26 12:55:18.229966', '2026-05-26 12:55:18.229966'] # created and updated later
|
||||||
record_D = ["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",
|
record_D = ["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",
|
||||||
'2026-03-26 12:55:18.229966', '2026-03-27 12:55:18.229966']
|
'2026-03-26 12:55:18.229966', '2026-03-27 12:55:18.229966']
|
||||||
record_E = ["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",
|
record_E = ["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",
|
||||||
'2024-03-26 12:55:18.229966', '2024-03-26 12:55:18.229966'] # only created, earlier
|
'2024-03-26 12:55:18.229966', '2024-03-26 12:55:18.229966'] # only created, earlier
|
||||||
record_F = ["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",
|
record_F = ["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",
|
||||||
'2026-03-26 12:55:18.229966', '2024-03-26 12:55:18.229966'] # this is invalid...
|
'2026-03-26 12:55:18.229966', '2024-03-26 12:55:18.229966'] # this is invalid...
|
||||||
|
|
||||||
data = [record_A, record_B, record_C, record_D, record_E]
|
data = [record_A, record_B, record_C, record_D, record_E]
|
||||||
|
|
@ -172,7 +172,7 @@ def test_db_lookup(tmp_path: Path) -> None:
|
||||||
assert results.empty
|
assert results.empty
|
||||||
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
||||||
assert len(results) == 1
|
assert len(results) == 1
|
||||||
results = find._db_lookup(db, ensemble, corr, code, parameters = "{par_A: 3.0, par_B: 4.0}")
|
results = find._db_lookup(db, ensemble, corr, code, parameters = '{"par_A": 3.0, "par_B": 4.0}')
|
||||||
assert results.empty
|
assert results.empty
|
||||||
|
|
||||||
corr = "g_A"
|
corr = "g_A"
|
||||||
|
|
@ -180,7 +180,7 @@ def test_db_lookup(tmp_path: Path) -> None:
|
||||||
code = "openQCD"
|
code = "openQCD"
|
||||||
meas_path = "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf"
|
meas_path = "archive/SF_A/f_A/Project_A.json.gz::asdfasdfasdf"
|
||||||
uuid = "Project_A"
|
uuid = "Project_A"
|
||||||
pars = "{par_A: 3.0, par_B: 4.0}"
|
pars = '{"par_A": 3.0, "par_B": 4.0}'
|
||||||
parameter_file = "projects/Project_A/myinput.in"
|
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'))",
|
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))
|
(corr, ensemble, code, meas_path, uuid, pars, parameter_file))
|
||||||
|
|
@ -205,38 +205,26 @@ def test_db_lookup(tmp_path: Path) -> None:
|
||||||
assert results.empty
|
assert results.empty
|
||||||
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
results = find._db_lookup(db, ensemble, corr, code, parameters = pars)
|
||||||
assert results.empty
|
assert results.empty
|
||||||
results = find._db_lookup(db, ensemble, "g_A", code, parameters = "{par_A: 3.0, par_B: 4.0}")
|
results = find._db_lookup(db, ensemble, "g_A", code, parameters = '{"par_A": 3.0, "par_B": 4.0}')
|
||||||
assert len(results) == 1
|
assert len(results) == 1
|
||||||
|
|
||||||
conn.close()
|
conn.close()
|
||||||
|
|
||||||
|
|
||||||
def test_sfcf_filter() -> None:
|
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",
|
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']
|
'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",
|
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']
|
'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",
|
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']
|
'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",
|
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']
|
'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 = [
|
data = [
|
||||||
record_0,
|
record_0,
|
||||||
record_1,
|
record_1,
|
||||||
record_2,
|
record_2,
|
||||||
record_3,
|
record_3,
|
||||||
record_4,
|
|
||||||
record_5,
|
|
||||||
record_6,
|
|
||||||
record_7,
|
|
||||||
record_8,
|
|
||||||
record_9,
|
|
||||||
]
|
]
|
||||||
cols = ["name",
|
cols = ["name",
|
||||||
"ensemble",
|
"ensemble",
|
||||||
|
|
@ -253,9 +241,98 @@ def test_sfcf_filter() -> None:
|
||||||
|
|
||||||
|
|
||||||
def test_openQCD_filter() -> None:
|
def test_openQCD_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']
|
||||||
|
data = [
|
||||||
|
record_0,
|
||||||
|
record_1,
|
||||||
|
record_2,
|
||||||
|
record_3,
|
||||||
|
]
|
||||||
|
cols = ["name",
|
||||||
|
"ensemble",
|
||||||
|
"code",
|
||||||
|
"path",
|
||||||
|
"project",
|
||||||
|
"parameters",
|
||||||
|
"parameter_file",
|
||||||
|
"created_at",
|
||||||
|
"updated_at"]
|
||||||
|
df = pd.DataFrame(data,columns=cols)
|
||||||
|
|
||||||
|
find.openQCD_filter(df)
|
||||||
assert True
|
assert True
|
||||||
|
|
||||||
|
|
||||||
|
def test_code_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 = ["f_A", "ensA", "openQCD", "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_5 = ["f_A", "ensA", "openQCD", "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_6 = ["f_P", "ensA", "openQCD", "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_7 = ["f_P", "ensA", "openQCD", "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_8 = ["f_P", "ensA", "openQCD", "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']
|
||||||
|
data = [
|
||||||
|
record_0,
|
||||||
|
record_1,
|
||||||
|
record_2,
|
||||||
|
record_3,
|
||||||
|
]
|
||||||
|
cols = ["name",
|
||||||
|
"ensemble",
|
||||||
|
"code",
|
||||||
|
"path",
|
||||||
|
"project",
|
||||||
|
"parameters",
|
||||||
|
"parameter_file",
|
||||||
|
"created_at",
|
||||||
|
"updated_at"]
|
||||||
|
df = pd.DataFrame(data,columns=cols)
|
||||||
|
|
||||||
|
res = find._code_filter(df, "sfcf")
|
||||||
|
assert len(res) == 4
|
||||||
|
|
||||||
|
data = [
|
||||||
|
record_4,
|
||||||
|
record_5,
|
||||||
|
record_6,
|
||||||
|
record_7,
|
||||||
|
record_8,
|
||||||
|
]
|
||||||
|
cols = ["name",
|
||||||
|
"ensemble",
|
||||||
|
"code",
|
||||||
|
"path",
|
||||||
|
"project",
|
||||||
|
"parameters",
|
||||||
|
"parameter_file",
|
||||||
|
"created_at",
|
||||||
|
"updated_at"]
|
||||||
|
df = pd.DataFrame(data,columns=cols)
|
||||||
|
|
||||||
|
res = find._code_filter(df, "openQCD")
|
||||||
|
assert len(res) == 5
|
||||||
|
with pytest.raises(ValueError):
|
||||||
|
res = find._code_filter(df, "asdf")
|
||||||
|
|
||||||
|
|
||||||
def test_find_record() -> None:
|
def test_find_record() -> None:
|
||||||
assert True
|
assert True
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue