Skip to content

Commit 0daf6ec

Browse files
committed
tests: Remove classes from tests (poller)
1 parent b146fff commit 0daf6ec

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

tests/test_poller.py

+38-38
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import os
22

3+
import pytest
34
from twisted.internet.defer import Deferred
4-
from twisted.trial import unittest
55
from zope.interface.verify import verifyObject
66

77
from scrapyd.config import Config
@@ -10,52 +10,52 @@
1010
from scrapyd.utils import get_spider_queues
1111

1212

13-
class QueuePollerTest(unittest.TestCase):
14-
def setUp(self):
15-
d = self.mktemp()
16-
eggs_dir = os.path.join(d, "eggs")
17-
dbs_dir = os.path.join(d, "dbs")
18-
os.makedirs(eggs_dir)
19-
os.makedirs(dbs_dir)
20-
os.makedirs(os.path.join(eggs_dir, "mybot1"))
21-
os.makedirs(os.path.join(eggs_dir, "mybot2"))
22-
config = Config(values={"eggs_dir": eggs_dir, "dbs_dir": dbs_dir})
23-
self.queues = get_spider_queues(config)
24-
self.poller = QueuePoller(config)
13+
@pytest.fixture()
14+
def poller(tmpdir):
15+
eggs_dir = os.path.join(tmpdir, "eggs")
16+
dbs_dir = os.path.join(tmpdir, "dbs")
17+
os.makedirs(os.path.join(eggs_dir, "mybot1"))
18+
os.makedirs(os.path.join(eggs_dir, "mybot2"))
19+
config = Config(values={"eggs_dir": eggs_dir, "dbs_dir": dbs_dir})
20+
return QueuePoller(config)
2521

26-
def test_interface(self):
27-
verifyObject(IPoller, self.poller)
2822

29-
def test_poll_next(self):
30-
cfg = {"mybot1": "spider1", "mybot2": "spider2"}
31-
priority = 0
32-
for prj, spd in cfg.items():
33-
self.queues[prj].add(spd, priority)
23+
def test_interface(poller):
24+
verifyObject(IPoller, poller)
3425

35-
d1 = self.poller.next()
36-
d2 = self.poller.next()
3726

38-
self.assertIsInstance(d1, Deferred)
39-
self.assertFalse(hasattr(d1, "result"))
27+
def test_poll_next(poller):
28+
queues = get_spider_queues(poller.config)
4029

41-
# poll once
42-
self.poller.poll()
30+
cfg = {"mybot1": "spider1", "mybot2": "spider2"}
31+
priority = 0
32+
for prj, spd in cfg.items():
33+
queues[prj].add(spd, priority)
4334

44-
self.assertTrue(hasattr(d1, "result"))
45-
self.assertTrue(getattr(d1, "called", False))
35+
d1 = poller.next()
36+
d2 = poller.next()
4637

47-
# which project got run: project1 or project2?
48-
self.assertTrue(d1.result.get("_project"))
38+
assert isinstance(d1, Deferred)
39+
assert not hasattr(d1, "result")
4940

50-
prj = d1.result["_project"]
41+
# poll once
42+
poller.poll()
5143

52-
self.assertEqual(d1.result["_spider"], cfg.pop(prj))
44+
assert hasattr(d1, "result")
45+
assert getattr(d1, "called", False)
5346

54-
self.queues[prj].pop()
47+
# which project got run: project1 or project2?
48+
assert d1.result.get("_project")
5549

56-
# poll twice
57-
# check that the other project's spider got to run
58-
self.poller.poll()
59-
prj, spd = cfg.popitem()
50+
prj = d1.result["_project"]
6051

61-
self.assertEqual(d2.result, {"_project": prj, "_spider": spd})
52+
assert d1.result["_spider"] == cfg.pop(prj)
53+
54+
queues[prj].pop()
55+
56+
# poll twice
57+
# check that the other project's spider got to run
58+
poller.poll()
59+
prj, spd = cfg.popitem()
60+
61+
assert d2.result == {"_project": prj, "_spider": spd}

0 commit comments

Comments
 (0)