36 lines
828 B
Python
36 lines
828 B
Python
# coding=utf-8
|
|
from datetime import datetime
|
|
|
|
from spark_executor.core.job_store import JobStore
|
|
from spark_executor.models import Job
|
|
|
|
|
|
def _job(jid: str) -> Job:
|
|
return Job(
|
|
job_id=jid,
|
|
application_id=f"application_{jid}",
|
|
script_path="/tmp/j.py",
|
|
queue="default",
|
|
submit_time=datetime(2026, 6, 24),
|
|
connection="prod",
|
|
)
|
|
|
|
|
|
def test_put_then_get_roundtrip():
|
|
store = JobStore()
|
|
store.put(_job("a"))
|
|
assert store.get("a") is not None
|
|
assert store.get("a").application_id == "application_a"
|
|
|
|
|
|
def test_get_missing_returns_none():
|
|
store = JobStore()
|
|
assert store.get("nope") is None
|
|
|
|
|
|
def test_list_returns_all_jobs():
|
|
store = JobStore()
|
|
store.put(_job("a"))
|
|
store.put(_job("b"))
|
|
assert {j.job_id for j in store.list()} == {"a", "b"}
|