fix codefactor errors

This commit is contained in:
Evgenii Alekseev 2021-09-02 01:45:11 +03:00
parent 21d74c7a03
commit 75269e8177
7 changed files with 13 additions and 10 deletions

View File

@ -4,7 +4,7 @@ from typing import Any, Dict
metadata_path = Path(__file__).resolve().parent / "src/ahriman/version.py" metadata_path = Path(__file__).resolve().parent / "src/ahriman/version.py"
metadata: Dict[str, Any] = dict() metadata: Dict[str, Any] = {}
with metadata_path.open() as metadata_file: with metadata_path.open() as metadata_file:
exec(metadata_file.read(), metadata) # pylint: disable=exec-used exec(metadata_file.read(), metadata) # pylint: disable=exec-used

View File

@ -90,12 +90,13 @@ class Auth:
del username del username
return True return True
def verify_access(self, username: str, required: UserAccess) -> bool: # pylint: disable=no-self-use def verify_access(self, username: str, required: UserAccess, context: Optional[str]) -> bool: # pylint: disable=no-self-use
""" """
validate if user has access to requested resource validate if user has access to requested resource
:param username: username :param username: username
:param required: required access level :param required: required access level
:param context: URI request path
:return: True in case if user is allowed to do this request and False otherwise :return: True in case if user is allowed to do this request and False otherwise
""" """
del username, required del username, required, context
return True return True

View File

@ -90,12 +90,14 @@ class MappingAuth(Auth):
""" """
return self.get_user(username) is not None return self.get_user(username) is not None
def verify_access(self, username: str, required: UserAccess) -> bool: def verify_access(self, username: str, required: UserAccess, context: Optional[str]) -> bool:
""" """
validate if user has access to requested resource validate if user has access to requested resource
:param username: username :param username: username
:param required: required access level :param required: required access level
:param context: URI request path
:return: True in case if user is allowed to do this request and False otherwise :return: True in case if user is allowed to do this request and False otherwise
""" """
del context
user = self.get_user(username) user = self.get_user(username)
return user is not None and user.verify_access(required) return user is not None and user.verify_access(required)

View File

@ -62,7 +62,7 @@ class AuthorizationPolicy(aiohttp_security.AbstractAuthorizationPolicy): # type
:param context: URI request path :param context: URI request path
:return: True in case if user is allowed to perform this request and False otherwise :return: True in case if user is allowed to perform this request and False otherwise
""" """
return self.validator.verify_access(identity, permission) return self.validator.verify_access(identity, permission, context)
def auth_handler(validator: Auth) -> MiddlewareType: def auth_handler(validator: Auth) -> MiddlewareType:

View File

@ -77,5 +77,5 @@ def test_verify_access(auth: Auth, user: User) -> None:
""" """
must allow any access must allow any access
""" """
assert auth.verify_access(user.username, user.access) assert auth.verify_access(user.username, user.access, None)
assert auth.verify_access(user.username, UserAccess.Write) assert auth.verify_access(user.username, UserAccess.Write, None)

View File

@ -117,5 +117,5 @@ def test_verify_access(mapping_auth: MappingAuth, user: User) -> None:
must verify user access must verify user access
""" """
mapping_auth._users[user.username] = user mapping_auth._users[user.username] = user
assert mapping_auth.verify_access(user.username, user.access) assert mapping_auth.verify_access(user.username, user.access, None)
assert not mapping_auth.verify_access(user.username, UserAccess.Write) assert not mapping_auth.verify_access(user.username, UserAccess.Write, None)

View File

@ -26,7 +26,7 @@ async def test_permits(authorization_policy: AuthorizationPolicy, user: User) ->
authorization_policy.validator.verify_access.return_value = True authorization_policy.validator.verify_access.return_value = True
assert await authorization_policy.permits(user.username, user.access, "/endpoint") assert await authorization_policy.permits(user.username, user.access, "/endpoint")
authorization_policy.validator.verify_access.assert_called_with(user.username, user.access) authorization_policy.validator.verify_access.assert_called_with(user.username, user.access, "/endpoint")
async def test_auth_handler_api(aiohttp_request: Any, auth: Auth, mocker: MockerFixture) -> None: async def test_auth_handler_api(aiohttp_request: Any, auth: Auth, mocker: MockerFixture) -> None: