From 1a501686dea0ef1c72e2f290a74bbd3f16fe4e5b Mon Sep 17 00:00:00 2001 From: James McKinney <26463+jpmckinney@users.noreply.github.com> Date: Fri, 19 Jul 2024 03:10:16 -0400 Subject: [PATCH] tests: Remove classes from tests (spiderqueue) --- setup.py | 1 + tests/test_spiderqueue.py | 91 ++++++++++++++++++++------------------- 2 files changed, 48 insertions(+), 44 deletions(-) diff --git a/setup.py b/setup.py index 8a099f16..a083060d 100644 --- a/setup.py +++ b/setup.py @@ -35,6 +35,7 @@ "coveralls", "pytest", "pytest-cov", + "pytest-twisted", "requests", ], "docs": [ diff --git a/tests/test_spiderqueue.py b/tests/test_spiderqueue.py index 20955f0e..fbfef29b 100644 --- a/tests/test_spiderqueue.py +++ b/tests/test_spiderqueue.py @@ -1,66 +1,69 @@ +import pytest from twisted.internet.defer import inlineCallbacks, maybeDeferred -from twisted.trial import unittest from zope.interface.verify import verifyObject from scrapyd import spiderqueue from scrapyd.config import Config from scrapyd.interfaces import ISpiderQueue +name = "spider1" +priority = 5 +args = { + "arg1": "val1", + "arg2": 2, + "arg3": "\N{SNOWMAN}", +} +expected = args.copy() +expected["name"] = name -class SpiderQueueTest(unittest.TestCase): - """This test case also supports queues with deferred methods.""" - def setUp(self): - self.q = spiderqueue.SqliteSpiderQueue(Config(values={"dbs_dir": ":memory:"}), "quotesbot") - self.name = "spider1" - self.priority = 5 - self.args = { - "arg1": "val1", - "arg2": 2, - "arg3": "\N{SNOWMAN}", - } - self.msg = self.args.copy() - self.msg["name"] = self.name +@pytest.fixture() +def queue(): + return spiderqueue.SqliteSpiderQueue(Config(values={"dbs_dir": ":memory:"}), "quotesbot") - def test_interface(self): - verifyObject(ISpiderQueue, self.q) - @inlineCallbacks - def test_add_pop_count(self): - c = yield maybeDeferred(self.q.count) - self.assertEqual(c, 0) +def test_interface(queue): + verifyObject(ISpiderQueue, queue) - yield maybeDeferred(self.q.add, self.name, self.priority, **self.args) - c = yield maybeDeferred(self.q.count) - self.assertEqual(c, 1) +@inlineCallbacks +def test_add_pop_count(queue): + c = yield maybeDeferred(queue.count) + assert c == 0 - m = yield maybeDeferred(self.q.pop) - self.assertEqual(m, self.msg) + yield maybeDeferred(queue.add, name, priority, **args) - c = yield maybeDeferred(self.q.count) - self.assertEqual(c, 0) + c = yield maybeDeferred(queue.count) + assert c == 1 - @inlineCallbacks - def test_list(self): - actual = yield maybeDeferred(self.q.list) - self.assertEqual(actual, []) + m = yield maybeDeferred(queue.pop) + assert m == expected - yield maybeDeferred(self.q.add, self.name, self.priority, **self.args) - yield maybeDeferred(self.q.add, self.name, self.priority, **self.args) + c = yield maybeDeferred(queue.count) + assert c == 0 - actual = yield maybeDeferred(self.q.list) - self.assertEqual(actual, [self.msg, self.msg]) - @inlineCallbacks - def test_clear(self): - yield maybeDeferred(self.q.add, self.name, self.priority, **self.args) - yield maybeDeferred(self.q.add, self.name, self.priority, **self.args) +@inlineCallbacks +def test_list(queue): + actual = yield maybeDeferred(queue.list) + assert actual == [] - c = yield maybeDeferred(self.q.count) - self.assertEqual(c, 2) + yield maybeDeferred(queue.add, name, priority, **args) + yield maybeDeferred(queue.add, name, priority, **args) - yield maybeDeferred(self.q.clear) + actual = yield maybeDeferred(queue.list) + assert actual == [expected, expected] - c = yield maybeDeferred(self.q.count) - self.assertEqual(c, 0) + +@inlineCallbacks +def test_clear(queue): + yield maybeDeferred(queue.add, name, priority, **args) + yield maybeDeferred(queue.add, name, priority, **args) + + c = yield maybeDeferred(queue.count) + assert c == 2 + + yield maybeDeferred(queue.clear) + + c = yield maybeDeferred(queue.count) + assert c == 0