mirror of
https://github.com/calibrain/shelfmark.git
synced 2026-04-19 21:39:17 -04:00
- Reworked many tests - Enforcing lint + type checking for test suite - Fixed various issues surfaced by the new tests - CI tweaks
28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from shelfmark.release_sources import Release
|
|
from shelfmark.release_sources.irc import cache
|
|
|
|
|
|
def test_cache_results_isolated_by_content_type(monkeypatch):
|
|
state = {"entries": {}, "version": 1}
|
|
|
|
monkeypatch.setattr(cache, "_load_cache", lambda: state)
|
|
monkeypatch.setattr(cache, "_save_cache", lambda _cache: None)
|
|
|
|
ebook_release = Release(source="irc", source_id="ebook", title="Shared Title", format="epub")
|
|
audiobook_release = Release(source="irc", source_id="audio", title="Shared Title", format="zip")
|
|
|
|
cache.cache_results("hardcover", "123", "Shared Title", [ebook_release], content_type="ebook")
|
|
cache.cache_results(
|
|
"hardcover", "123", "Shared Title", [audiobook_release], content_type="audiobook"
|
|
)
|
|
|
|
ebook_cached = cache.get_cached_results(
|
|
"hardcover", "123", content_type="ebook", ttl_seconds=60
|
|
)
|
|
audiobook_cached = cache.get_cached_results(
|
|
"hardcover", "123", content_type="audiobook", ttl_seconds=60
|
|
)
|
|
|
|
assert [release.source_id for release in ebook_cached["releases"]] == ["ebook"]
|
|
assert [release.source_id for release in audiobook_cached["releases"]] == ["audio"]
|