Skip to content

Commit

Permalink
Adding a test to cover the case of JWT refresh token rotation. (#362)
Browse files Browse the repository at this point in the history
Looks great
  • Loading branch information
mohammed-ibenayad committed Jan 23, 2022
1 parent 8c451ff commit f80bb63
Showing 1 changed file with 21 additions and 0 deletions.
21 changes: 21 additions & 0 deletions dj_rest_auth/tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -1024,6 +1024,27 @@ def test_custom_token_refresh_view(self):
)
self.assertIn('xxx', refresh_resp.cookies)

@override_settings(REST_USE_JWT=True)
def test_rotate_token_refresh_view(self):
from rest_framework_simplejwt.settings import api_settings as jwt_settings
jwt_settings.ROTATE_REFRESH_TOKENS = True
payload = {
'username': self.USERNAME,
'password': self.PASS,
}

get_user_model().objects.create_user(self.USERNAME, '', self.PASS)
resp = self.post(self.login_url, data=payload)
self.assertEqual(resp.status_code, status.HTTP_200_OK)

refresh = resp.data.get('refresh_token', None)
resp = self.post(
reverse('token_refresh'),
data=dict(refresh=refresh),
)
self.assertEqual(resp.status_code, status.HTTP_200_OK)
self.assertIn('refresh', resp.data)

@override_settings(REST_AUTH_TOKEN_MODEL=None)
@modify_settings(INSTALLED_APPS={'remove': ['rest_framework.authtoken']})
def test_login_with_no_token_model(self):
Expand Down

0 comments on commit f80bb63

Please sign in to comment.