diff --git a/aurweb/auth.py b/aurweb/auth.py index 26e4073d..2e6674b0 100644 --- a/aurweb/auth.py +++ b/aurweb/auth.py @@ -53,10 +53,30 @@ class AnonymousUser: def is_authenticated(): return False + @staticmethod + def is_trusted_user(): + return False + + @staticmethod + def is_developer(): + return False + + @staticmethod + def is_elevated(): + return False + @staticmethod def has_credential(credential): return False + @staticmethod + def voted_for(package): + return False + + @staticmethod + def notified(package): + return False + class BasicAuthBackend(AuthenticationBackend): async def authenticate(self, conn: HTTPConnection): diff --git a/test/test_auth.py b/test/test_auth.py index caa39468..ced64064 100644 --- a/test/test_auth.py +++ b/test/test_auth.py @@ -5,7 +5,7 @@ import pytest from sqlalchemy.exc import IntegrityError from aurweb import db -from aurweb.auth import BasicAuthBackend, account_type_required, has_credential +from aurweb.auth import AnonymousUser, BasicAuthBackend, account_type_required, has_credential from aurweb.db import create, query from aurweb.models.account_type import USER, USER_ID, AccountType from aurweb.models.session import Session @@ -92,3 +92,28 @@ def test_account_type_required(): # But this one should! We have no "FAKE" key. with pytest.raises(KeyError): account_type_required({'FAKE'}) + + +def test_is_trusted_user(): + user_ = AnonymousUser() + assert not user_.is_trusted_user() + + +def test_is_developer(): + user_ = AnonymousUser() + assert not user_.is_developer() + + +def test_is_elevated(): + user_ = AnonymousUser() + assert not user_.is_elevated() + + +def test_voted_for(): + user_ = AnonymousUser() + assert not user_.voted_for(None) + + +def test_notified(): + user_ = AnonymousUser() + assert not user_.notified(None)