Skip to content

Commit

Permalink
test: Verify interface implementations. Remove TODO from cd35bd4.
Browse files Browse the repository at this point in the history
  • Loading branch information
jpmckinney committed Jul 17, 2024
1 parent 604e61d commit a16f98a
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
1 change: 0 additions & 1 deletion scrapyd/scheduler.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ def __init__(self, config):

def schedule(self, project, spider_name, priority=0.0, **spider_args):
q = self.queues[project]
# priority passed as kw for compat w/ custom queue. TODO use pos in 1.4
q.add(spider_name, priority=priority, **spider_args)

def list_projects(self):
Expand Down
28 changes: 28 additions & 0 deletions tests/test_interfaces.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import pytest
from twisted.cred.checkers import ICredentialsChecker
from twisted.cred.portal import IRealm
from zope.interface.verify import verifyClass

from scrapyd.basicauth import PublicHTMLRealm, StringCredentialsChecker
from scrapyd.eggstorage import FilesystemEggStorage
from scrapyd.environ import Environment
from scrapyd.interfaces import IEggStorage, IEnvironment, IJobStorage, IPoller, ISpiderQueue, ISpiderScheduler
from scrapyd.jobstorage import MemoryJobStorage, SqliteJobStorage
from scrapyd.poller import QueuePoller
from scrapyd.scheduler import SpiderScheduler
from scrapyd.spiderqueue import SqliteSpiderQueue


@pytest.mark.parametrize('cls,interface', [
(PublicHTMLRealm, IRealm),
(StringCredentialsChecker, ICredentialsChecker),
(FilesystemEggStorage, IEggStorage),
(Environment, IEnvironment),
(MemoryJobStorage, IJobStorage),
(SqliteJobStorage, IJobStorage),
(QueuePoller, IPoller),
(SpiderScheduler, ISpiderScheduler),
(SqliteSpiderQueue, ISpiderQueue),
])
def test_interface(cls, interface):
verifyClass(interface, cls)

0 comments on commit a16f98a

Please sign in to comment.