Files
shelfmark/tests/irc/test_cache.py
Alex c59ea46540 Frontend update + Misc fixes (#735)
- Updated frontend CSS to Tailwind v4
- Reverted socket IO origin restriction
- Fixed search queries not persisting after auth redirect
- Move advanced search options to left UI selector
- Unlock IRC source to be used for audiobook content_type
- Tweaked security settings env var syncing to be prioritised
- Fix AA "all languages" query generation
- Added language-free AA query as second fallback in case of no results
- Testing moving SeleniumBase scratch files to /tmp via symlink
- Added enhanced logging for activity dismissals and other events
- Removed iFrame restrictions
2026-03-11 18:16:34 +00:00

22 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"]