feat: add worker job-claim logic
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
from lyra_worker.claim import claim_next
|
||||
from tests.conftest import insert_request
|
||||
|
||||
|
||||
def test_claim_returns_none_when_empty(conn):
|
||||
assert claim_next(conn) is None
|
||||
|
||||
|
||||
def test_claim_advances_job_to_matching(conn):
|
||||
job_id = insert_request(conn)
|
||||
claimed = claim_next(conn)
|
||||
assert claimed == job_id
|
||||
|
||||
with conn.cursor() as cur:
|
||||
cur.execute('SELECT state, "currentStage", attempts, "claimedAt" FROM "Job" WHERE id = %s', (job_id,))
|
||||
state, stage, attempts, claimed_at = cur.fetchone()
|
||||
assert state == "matching"
|
||||
assert stage == "match"
|
||||
assert attempts == 1
|
||||
assert claimed_at is not None
|
||||
|
||||
|
||||
def test_claim_does_not_repick_claimed_job(conn):
|
||||
insert_request(conn)
|
||||
assert claim_next(conn) is not None
|
||||
assert claim_next(conn) is None
|
||||
Reference in New Issue
Block a user