🧪(backend) add test for empty sub string
Add failing test for corner case when sub value is an empty string. This edge case was discovered by @sampaccoud and was previously untested. Fix will follow in subsequent commit.
This commit is contained in:
committed by
aleb_the_flash
parent
f3ea0fca71
commit
ccbeeba68f
@@ -102,3 +102,24 @@ def test_models_oidc_user_getter_invalid_token(django_assert_num_queries, monkey
|
|||||||
klass.get_or_create_user(access_token="test-token", id_token=None, payload=None)
|
klass.get_or_create_user(access_token="test-token", id_token=None, payload=None)
|
||||||
|
|
||||||
assert models.User.objects.exists() is False
|
assert models.User.objects.exists() is False
|
||||||
|
|
||||||
|
|
||||||
|
def test_models_oidc_user_getter_empty_sub(django_assert_num_queries, monkeypatch):
|
||||||
|
"""The user's info contains a sub, but it's an empty string."""
|
||||||
|
klass = OIDCAuthenticationBackend()
|
||||||
|
|
||||||
|
def get_userinfo_mocked(*args):
|
||||||
|
return {"test": "123", "sub": ""}
|
||||||
|
|
||||||
|
monkeypatch.setattr(OIDCAuthenticationBackend, "get_userinfo", get_userinfo_mocked)
|
||||||
|
|
||||||
|
with (
|
||||||
|
django_assert_num_queries(0),
|
||||||
|
pytest.raises(
|
||||||
|
SuspiciousOperation,
|
||||||
|
match="User info contained no recognizable user identification",
|
||||||
|
),
|
||||||
|
):
|
||||||
|
klass.get_or_create_user(access_token="test-token", id_token=None, payload=None)
|
||||||
|
|
||||||
|
assert models.User.objects.exists() is False
|
||||||
|
|||||||
Reference in New Issue
Block a user