FastAPI: add redis integration

This includes the addition of the python-fakeredis package,
used for stubbing python-redis when a user does not have a
configured cache.

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-06-28 08:49:02 -07:00
parent 96d1af9363
commit 91e769f603
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
7 changed files with 123 additions and 3 deletions

View file

@ -9,6 +9,24 @@ from fastapi import HTTPException
import aurweb.asgi
import aurweb.config
import aurweb.redis
@pytest.mark.asyncio
async def test_asgi_startup_session_secret_exception(monkeypatch):
""" Test that we get an IOError on app_startup when we cannot
connect to options.redis_address. """
redis_addr = aurweb.config.get("options", "redis_address")
def mock_get(section: str, key: str):
if section == "fastapi" and key == "session_secret":
return None
return redis_addr
with mock.patch("aurweb.config.get", side_effect=mock_get):
with pytest.raises(Exception):
await aurweb.asgi.app_startup()
@pytest.mark.asyncio