Add simple caching implementation for database queries that will be used in command autocompletion

This commit is contained in:
stijndcl 2022-07-14 22:44:22 +02:00
parent f0a05c8b4d
commit 72c3acbcc2
9 changed files with 162 additions and 50 deletions

View file

@ -0,0 +1,27 @@
from sqlalchemy.ext.asyncio import AsyncSession
from database.models import UforaCourse
from database.utils.caches import UforaCourseCache
async def test_ufora_course_cache_refresh_empty(database_session: AsyncSession, ufora_course_with_alias: UforaCourse):
"""Test loading the data for the Ufora Course cache when it's empty"""
cache = UforaCourseCache()
await cache.refresh(database_session)
assert len(cache.data) == 2
assert cache.data == ["alias", "test"]
async def test_ufora_course_cache_refresh_not_empty(
database_session: AsyncSession, ufora_course_with_alias: UforaCourse
):
"""Test loading the data for the Ufora Course cache when it's not empty anymore"""
cache = UforaCourseCache()
cache.data = ["Something"]
cache.data_transformed = ["something"]
await cache.refresh(database_session)
assert len(cache.data) == 2
assert cache.data == ["alias", "test"]