forked from rc/aircox
- Writes tests for aircox streamer application; - Add test utilities in aircox Co-authored-by: bkfox <thomas bkfox net> Reviewed-on: rc/aircox#110
This commit is contained in:
37
aircox_streamer/tests/test_controllers_streamers.py
Normal file
37
aircox_streamer/tests/test_controllers_streamers.py
Normal file
@ -0,0 +1,37 @@
|
||||
from datetime import timedelta
|
||||
|
||||
from django.utils import timezone as tz
|
||||
import pytest
|
||||
|
||||
|
||||
class TestStreamers:
|
||||
@pytest.fixture
|
||||
def test___init__(self, streamers):
|
||||
assert isinstance(streamers.timeout, timedelta)
|
||||
|
||||
@pytest.fixture
|
||||
def test_reset(self, streamers, stations):
|
||||
streamers.reset()
|
||||
assert all(
|
||||
streamers.streamers[station.pk] == station for station in stations
|
||||
)
|
||||
|
||||
@pytest.fixture
|
||||
def test_fetch(self, streamers):
|
||||
streamers.next_date = tz.now() - tz.timedelta(seconds=30)
|
||||
streamers.streamers = None
|
||||
|
||||
now = tz.now()
|
||||
streamers.fetch()
|
||||
|
||||
assert all(streamer.calls.get("fetch") for streamer in streamers)
|
||||
assert streamers.next_date > now
|
||||
|
||||
@pytest.fixture
|
||||
def test_fetch_timeout_not_reached(self, streamers):
|
||||
next_date = tz.now() + tz.timedelta(seconds=30)
|
||||
streamers.next_date = next_date
|
||||
|
||||
streamers.fetch()
|
||||
assert all(not streamer.calls.get("fetch") for streamer in streamers)
|
||||
assert streamers.next_date == next_date
|
Reference in New Issue
Block a user