Add typed task input forms
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import sqlite3
|
||||
|
||||
from app.store import RunStore
|
||||
|
||||
|
||||
@@ -19,3 +21,39 @@ def test_restart_marks_unfinished_runs_interrupted(settings) -> None:
|
||||
assert interrupted is not None
|
||||
assert interrupted.status == "interrupted"
|
||||
assert interrupted.finished_at is not None
|
||||
|
||||
|
||||
def test_initialize_migrates_existing_database_with_input_column(settings) -> None:
|
||||
settings.state_root.mkdir()
|
||||
with sqlite3.connect(settings.database_path) as connection:
|
||||
connection.execute(
|
||||
"""
|
||||
CREATE TABLE runs (
|
||||
id INTEGER PRIMARY KEY,
|
||||
target_kind TEXT NOT NULL,
|
||||
target_path TEXT NOT NULL,
|
||||
queue_group TEXT NOT NULL,
|
||||
trigger TEXT NOT NULL,
|
||||
status TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL,
|
||||
started_at TEXT,
|
||||
finished_at TEXT,
|
||||
exit_code INTEGER,
|
||||
cancel_requested_at TEXT,
|
||||
parent_run_id INTEGER,
|
||||
log_path TEXT,
|
||||
message TEXT
|
||||
)
|
||||
"""
|
||||
)
|
||||
|
||||
store = RunStore(settings.database_path)
|
||||
store.initialize()
|
||||
run, _ = store.enqueue(
|
||||
target_kind="task",
|
||||
target_path="checks/status.py",
|
||||
queue_group="checks",
|
||||
input_data={"attempts": 2},
|
||||
)
|
||||
|
||||
assert run.input_json == '{"attempts":2}'
|
||||
|
||||
Reference in New Issue
Block a user