feat(history): record what happens to a request
This commit is contained in:
1 parent
53927f7e11
commit
0c504790df
6 files changed
+114
-3
No files matched your search
@@ -1185,3 +1185,38 @@ def test_version_endpoint_reports_a_build_stamp(client):
|
||||
assert data["version"]
|
||||
# "2026-09-01 15:43" - the newest source file, so a stale deploy stands out
|
||||
assert len(data["built_at"]) == 16 and data["built_at"][4] == "-"
|
||||
|
||||
|
||||
def test_history_records_what_happened_to_a_request(client):
|
||||
root = client.tmp_path / "library" / "hist"
|
||||
lib_id = client.post("/api/libraries", json={
|
||||
"name": "hist", "media_type": "ebook", "root_path": str(root),
|
||||
"folder_template": "{Title}", "file_template": "{Title}",
|
||||
}).json()["id"]
|
||||
req_id = client.post("/api/requests", json={
|
||||
"library_id": lib_id, "title": "Momo"}).json()["id"]
|
||||
|
||||
gone = client.downloads / "gone.epub"
|
||||
res = client.post("/api/import", json={"items": [{
|
||||
"path": str(gone), "is_dir": False, "files": [str(gone)], "request_id": req_id,
|
||||
}]}).json()["results"][0]
|
||||
assert not res["ok"]
|
||||
|
||||
src = client.downloads / "Momo.epub"
|
||||
src.write_bytes(b"x")
|
||||
dest = client.post("/api/import", json={"items": [{
|
||||
"path": str(src), "is_dir": False, "files": [str(src)], "request_id": req_id,
|
||||
}]}).json()["results"][0]["dest"]
|
||||
client.put(f"/api/requests/{req_id}", json={"library_id": lib_id, "title": "Momo 2"})
|
||||
assert client.post(f"/api/requests/{req_id}/relocate").json()["moved"]
|
||||
# a relocate that moves nothing is not worth a row
|
||||
client.post(f"/api/requests/{req_id}/relocate")
|
||||
client.delete(f"/api/requests/{req_id}")
|
||||
|
||||
rows = client.get("/api/history").json()
|
||||
assert [r["event"] for r in rows] == ["deleted", "relocated", "imported", "failed"]
|
||||
assert all(r["request_id"] == req_id for r in rows)
|
||||
assert rows[0]["title"] == "Momo 2" # survives the deleted request
|
||||
assert rows[2]["dest"] == dest
|
||||
assert rows[3]["message"]
|
||||
assert rows[0]["at"].endswith("+00:00")
|
||||
Reference in new issue
Block a user