Spaces:
Running on Zero
Running on Zero
File size: 1,011 Bytes
123559e | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | import unittest
import uuid
from types import SimpleNamespace
from unittest.mock import patch
from app import worker
class _JobQuery:
def __init__(self, job):
self.job = job
def filter(self, *_args, **_kwargs):
return self
def first(self):
return self.job
class _Session:
def __init__(self, job):
self.job = job
self.closed = False
def query(self, _model):
return _JobQuery(self.job)
def close(self):
self.closed = True
class WorkerQueueTests(unittest.TestCase):
def test_terminal_job_is_not_executed_again(self):
job = SimpleNamespace(status="succeeded")
session = _Session(job)
with (
patch.object(worker, "SessionLocal", return_value=session),
patch.object(worker, "_set") as set_job,
):
worker._run_job(uuid.uuid4())
set_job.assert_not_called()
self.assertTrue(session.closed)
if __name__ == "__main__":
unittest.main()
|