fix(api): upgrade django code (pre-commit)
This commit is contained in:
parent
14357102e5
commit
a8e2ce7732
|
@ -2,6 +2,7 @@ from secrets import compare_digest
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from rest_framework.permissions import BasePermission
|
from rest_framework.permissions import BasePermission
|
||||||
|
from rest_framework.request import Request
|
||||||
|
|
||||||
from .core.models import Role
|
from .core.models import Role
|
||||||
|
|
||||||
|
@ -48,11 +49,8 @@ def get_permission_for_view(request, view):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
def check_authorization_header(request):
|
def check_authorization_header(request: Request):
|
||||||
auth_header = request.META.get("Authorization")
|
auth_header = request.headers.get("authorization", "")
|
||||||
if not auth_header:
|
|
||||||
auth_header = request.META.get("HTTP_AUTHORIZATION", "")
|
|
||||||
|
|
||||||
if auth_header.startswith("Api-Key"):
|
if auth_header.startswith("Api-Key"):
|
||||||
token = auth_header.split()[1]
|
token = auth_header.split()[1]
|
||||||
return compare_digest(token, settings.CONFIG.general.api_key)
|
return compare_digest(token, settings.CONFIG.general.api_key)
|
||||||
|
|
|
@ -19,17 +19,21 @@ class TestIsSystemTokenOrUser(APITestCase):
|
||||||
|
|
||||||
def test_token_incorrect(self):
|
def test_token_incorrect(self):
|
||||||
token = "doesnotexist"
|
token = "doesnotexist"
|
||||||
request = APIRequestFactory().get(self.path)
|
request = APIRequestFactory().get(
|
||||||
|
self.path,
|
||||||
|
headers={"Authorization": f"Api-Key {token}"},
|
||||||
|
)
|
||||||
request.user = AnonymousUser()
|
request.user = AnonymousUser()
|
||||||
request.META["Authorization"] = f"Api-Key {token}"
|
|
||||||
allowed = IsSystemTokenOrUser().has_permission(request, None)
|
allowed = IsSystemTokenOrUser().has_permission(request, None)
|
||||||
self.assertFalse(allowed)
|
self.assertFalse(allowed)
|
||||||
|
|
||||||
def test_token_correct(self):
|
def test_token_correct(self):
|
||||||
token = settings.CONFIG.general.api_key
|
token = settings.CONFIG.general.api_key
|
||||||
request = APIRequestFactory().get(self.path)
|
request = APIRequestFactory().get(
|
||||||
|
self.path,
|
||||||
|
headers={"Authorization": f"Api-Key {token}"},
|
||||||
|
)
|
||||||
request.user = AnonymousUser()
|
request.user = AnonymousUser()
|
||||||
request.META["Authorization"] = f"Api-Key {token}"
|
|
||||||
allowed = IsSystemTokenOrUser().has_permission(request, None)
|
allowed = IsSystemTokenOrUser().has_permission(request, None)
|
||||||
self.assertTrue(allowed)
|
self.assertTrue(allowed)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue