from django.urls import reverse from rest_framework import status from bookmarks.tests.helpers import LinkdingApiTestCase, BookmarkFactoryMixin class AuthApiTestCase(LinkdingApiTestCase, BookmarkFactoryMixin): def authenticate(self, keyword): self.api_token = self.setup_api_token() 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)