mirror of
https://github.com/sissbruecker/linkding.git
synced 2025-08-08 11:18:28 +02:00
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
from django.urls import reverse
|
|
from rest_framework import status
|
|
from rest_framework.authtoken.models import Token
|
|
|
|
from bookmarks.tests.helpers import LinkdingApiTestCase, BookmarkFactoryMixin
|
|
|
|
|
|
class AuthApiTestCase(LinkdingApiTestCase, BookmarkFactoryMixin):
|
|
|
|
def authenticate(self, keyword):
|
|
self.api_token = Token.objects.get_or_create(
|
|
user=self.get_or_create_test_user()
|
|
)[0]
|
|
self.client.credentials(HTTP_AUTHORIZATION=f"{keyword} {self.api_token.key}")
|
|
|
|
def test_auth_with_token_keyword(self):
|
|
self.authenticate("Token")
|
|
|
|
url = reverse("linkding:user-profile")
|
|
self.get(url, expected_status_code=status.HTTP_200_OK)
|
|
|
|
def test_auth_with_bearer_keyword(self):
|
|
self.authenticate("Bearer")
|
|
|
|
url = reverse("linkding:user-profile")
|
|
self.get(url, expected_status_code=status.HTTP_200_OK)
|
|
|
|
def test_auth_with_unknown_keyword(self):
|
|
self.authenticate("Key")
|
|
|
|
url = reverse("linkding:user-profile")
|
|
self.get(url, expected_status_code=status.HTTP_401_UNAUTHORIZED)
|