Fix SimpleTask to actually use class INTERVAL value instead of its own - caused EventScannerTask to use 60s instead of the 120s it had defined.

remotes/origin/v7.4.x
derekpierre 2024-02-07 16:43:59 -05:00 committed by Derek Pierre
parent 0a57326a8e
commit 19caae9a2d
2 changed files with 18 additions and 3 deletions

View File

@ -12,8 +12,8 @@ class SimpleTask(ABC):
INTERVAL = 60 # 60s default
CLOCK = reactor
def __init__(self, interval: float = INTERVAL):
self.interval = interval
def __init__(self, interval: float = None):
self.interval = interval or self.INTERVAL
self.log = Logger(self.__class__.__name__)
self._task = LoopingCall(self.run)
# self.__task.clock = self.CLOCK

View File

@ -6,7 +6,7 @@ from unittest.mock import MagicMock, Mock
import pytest
from nucypher.blockchain.eth.trackers.dkg import ActiveRitualTracker
from nucypher.blockchain.eth.trackers.dkg import ActiveRitualTracker, EventScannerTask
from nucypher.utilities.events import EventScanner, EventScannerState, JSONifiedState
CHAIN_REORG_WINDOW = ActiveRitualTracker.CHAIN_REORG_SCAN_WINDOW
@ -293,3 +293,18 @@ class MyEventScanner(EventScanner):
@property
def scan_chunk_calls_made(self):
return self.chunk_calls_made
def test_event_scanner_task():
scanner = EventScanner(
web3=Mock(),
contract=Mock(),
state=Mock(),
events=[],
filters={},
chain_reorg_rescan_window=CHAIN_REORG_WINDOW,
)
task = EventScannerTask(scanner.scan)
assert task.interval == EventScannerTask.INTERVAL
assert task.scanner == scanner.scan