Files
jupyterhub/jupyterhub/tests/test_user.py
Min RK aba55cc093 implement UserDict.get
behaves more like one would expect (same as try get-key, except: return default)
without relying on cache presence or underlying key type (integer only)
2020-06-11 10:32:55 +02:00

23 lines
541 B
Python

import pytest
from ..user import UserDict
from .utils import add_user
@pytest.mark.parametrize("attr", ["self", "id", "name"])
async def test_userdict_get(db, attr):
u = add_user(db, name="rey", app=False)
userdict = UserDict(db_factory=lambda: db, settings={})
if attr == "self":
key = u
else:
key = getattr(u, attr)
# `in` checks cache only
assert key not in userdict
assert userdict.get(key)
assert userdict.get(key).id == u.id
# `in` should find it now
assert key in userdict