test_token_policies.py 1.2 KB

12345678910111213141516171819202122232425262728293031
  1. from rest_framework import status
  2. from desecapi.tests.base import DomainOwnerTestCase
  3. class TokenPoliciesTestCase(DomainOwnerTestCase):
  4. def setUp(self):
  5. super().setUp()
  6. self.client.credentials() # remove default credential (corresponding to domain owner)
  7. self.token_manage = self.create_token(self.owner, perm_manage_tokens=True)
  8. self.other_token = self.create_token(self.user)
  9. def test_policies(self):
  10. url = DomainOwnerTestCase.reverse('v1:token-policies-root', token_id=self.token.id)
  11. kwargs = {}
  12. response = self.client.get(url, **kwargs)
  13. self.assertStatus(response, status.HTTP_401_UNAUTHORIZED)
  14. kwargs.update(HTTP_AUTHORIZATION=f'Token {self.token_manage.plain}')
  15. response = self.client.get(url, **kwargs)
  16. self.assertStatus(response, status.HTTP_200_OK)
  17. kwargs.update(HTTP_AUTHORIZATION=f'Token {self.token.plain}')
  18. response = self.client.get(url, **kwargs)
  19. self.assertStatus(response, status.HTTP_200_OK)
  20. url = DomainOwnerTestCase.reverse('v1:token-policies-root', token_id=self.token_manage.id)
  21. response = self.client.get(url, **kwargs)
  22. self.assertStatus(response, status.HTTP_403_FORBIDDEN)