Skip to content

Commit

Permalink
Test set update interval up/down. #332
Browse files Browse the repository at this point in the history
  • Loading branch information
lemon24 committed Jun 19, 2024
1 parent b61019c commit 2a997ea
Showing 1 changed file with 50 additions and 3 deletions.
53 changes: 50 additions & 3 deletions tests/test_reader.py
Original file line number Diff line number Diff line change
Expand Up @@ -1011,9 +1011,6 @@ def test_next_update_after(monkeypatch, now, interval, jitter, random, expected)
assert next_update_after(now, interval, jitter) == expected


# FIXME: test_set_interval_up/_down


def test_update_scheduled(reader, call_update_iter_method):
reader._parser = parser = Parser()

Expand Down Expand Up @@ -1094,6 +1091,56 @@ def test_update_scheduled_sweep(reader, scheduled, end, expected_counts):
assert dict(counts) == expected_counts


def test_set_update_interval_up(reader):
reader._parser = parser = Parser()
feed = parser.feed(1)
reader.add_feed(feed)

reader.set_tag(feed, '.reader.update', {'interval': 60})

reader._now = lambda: datetime(2010, 1, 1)
reader.update_feeds()

reader.set_tag(feed, '.reader.update', {'interval': 240})

reader._now = lambda: datetime(2010, 1, 1, 0, 59)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 0

reader._now = lambda: datetime(2010, 1, 1, 1)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 1

reader._now = lambda: datetime(2010, 1, 1, 3, 59)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 0

reader._now = lambda: datetime(2010, 1, 1, 4)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 1


def test_set_update_interval_down(reader):
reader._parser = parser = Parser()
feed = parser.feed(1)
reader.add_feed(feed)

reader.set_tag(feed, '.reader.update', {'interval': 240})

reader._now = lambda: datetime(2010, 1, 1)
reader.update_feeds()

reader.set_tag(feed, '.reader.update', {'interval': 60})

reader._now = lambda: datetime(2010, 1, 1, 3, 59)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 0

reader._now = lambda: datetime(2010, 1, 1, 4)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 1

reader._now = lambda: datetime(2010, 1, 1, 4, 59)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 0

reader._now = lambda: datetime(2010, 1, 1, 5)
assert len(list(reader.update_feeds_iter(scheduled=True))) == 1


class FeedAction(Enum):
none = object()
update = object()
Expand Down

0 comments on commit 2a997ea

Please sign in to comment.