Refine queue page polling
This commit is contained in:
+49
-1
@@ -259,6 +259,54 @@ class DownloadQueueCancelTests(unittest.TestCase):
|
||||
self.assertEqual(len(saved), 1)
|
||||
self.assertEqual(saved[0][-1], "line flush")
|
||||
|
||||
|
||||
class QueueApiTests(unittest.TestCase):
|
||||
def setUp(self):
|
||||
APP.reset_runtime(wait=True)
|
||||
APP.initialize_runtime(start_workers=False)
|
||||
self.queue = APP.DOWNLOAD_QUEUE
|
||||
with self.queue._connect() as conn:
|
||||
conn.execute("DELETE FROM jobs")
|
||||
|
||||
def test_download_queue_get_returns_single_job(self):
|
||||
created = self.queue.add(
|
||||
{
|
||||
"query": "Example Show",
|
||||
"title": "Example Show",
|
||||
"anime_name": "Example Show",
|
||||
"mode": "sub",
|
||||
"quality": "best",
|
||||
"episodes": "1",
|
||||
"download_dir": "/tmp/example",
|
||||
"season": "1",
|
||||
}
|
||||
)
|
||||
|
||||
fetched = self.queue.get(created["id"])
|
||||
|
||||
self.assertEqual(fetched["id"], created["id"])
|
||||
self.assertEqual(fetched["title"], "Example Show")
|
||||
|
||||
def test_queue_item_get_route_returns_single_job_payload(self):
|
||||
created = self.queue.add(
|
||||
{
|
||||
"query": "Route Show",
|
||||
"title": "Route Show",
|
||||
"anime_name": "Route Show",
|
||||
"mode": "sub",
|
||||
"quality": "best",
|
||||
"episodes": "1",
|
||||
"download_dir": "/tmp/example",
|
||||
"season": "1",
|
||||
}
|
||||
)
|
||||
handler = DummyHandler(f"/api/queue/{created['id']}")
|
||||
|
||||
APP.Handler.do_GET(handler)
|
||||
|
||||
self.assertEqual(handler.json_status, HTTPStatus.OK)
|
||||
self.assertEqual(handler.json_payload["id"], created["id"])
|
||||
|
||||
def test_save_job_splits_log_and_extra_payload_columns(self):
|
||||
queue = APP.DownloadQueue(lambda: {"mode": "sub", "quality": "best", "download_dir": "/tmp/example"}, start_worker=False)
|
||||
job = {
|
||||
@@ -1707,7 +1755,7 @@ class TemplateHelperTests(unittest.TestCase):
|
||||
def test_pages_share_serial_polling_helper(self):
|
||||
self.assertIn("function startSerialPoll(callback, intervalMs)", APP.QUEUE_HTML)
|
||||
self.assertIn("function startSerialPoll(callback, intervalMs)", APP.WATCHLIST_HTML)
|
||||
self.assertIn("startSerialPoll(() => loadQueue(), 2500)", APP.QUEUE_HTML)
|
||||
self.assertIn("startSerialPoll(() => pollVisibleJobs(), 2500)", APP.QUEUE_HTML)
|
||||
self.assertIn("startSerialPoll(async () => {", APP.WATCHLIST_HTML)
|
||||
self.assertIn("window.clearTimeout(timer);", APP.QUEUE_HTML)
|
||||
self.assertIn('window.addEventListener("pagehide", stop, { once: true });', APP.QUEUE_HTML)
|
||||
|
||||
Reference in New Issue
Block a user