Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_post_should_logout_logged_in_user(self):
user = create_user()
token = models.Token.objects.create(user=user, client='my-device')
request = self.factory.post(user=user, token=token)
response = self.view(request)
self.assert_status_equal(response, status.HTTP_200_OK)
self.assertEqual(response.data, None)
with self.assertRaises(models.Token.DoesNotExist):
utils.refresh(token)
def test_post_should_not_set_new_password_if_user_does_not_exist(self):
user = create_user()
data = {
'uid': djoser.utils.encode_uid(user.pk + 1),
'token': default_token_generator.make_token(user),
'new_password': 'new password',
}
request = self.factory.post(data=data)
response = self.view(request)
self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
self.assertIn('uid', response.data)
user = utils.refresh(user)
self.assertFalse(user.check_password(data['new_password']))
def test_post_should_not_set_new_password_if_mismatch(self):
user = create_user()
data = {
'new_password': 'new password',
're_new_password': 'wrong',
'current_password': 'secret',
}
request = self.factory.post(user=user, data=data)
response = self.view(request)
self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
user = utils.refresh(user)
self.assertTrue(user.check_password(data['current_password']))
def test_put_should_update_user(self):
user = create_user()
data = {
'email': 'ringo@beatles.com',
}
request = self.factory.put(user=user, data=data)
response = self.view(request)
self.assert_status_equal(response, status.HTTP_200_OK)
user = utils.refresh(user)
self.assertEqual(data['email'], user.email)
def test_post_should_not_set_new_password_if_broken_uid(self):
user = create_user()
data = {
'uid': 'x',
'token': default_token_generator.make_token(user),
'new_password': 'new password',
}
request = self.factory.post(data=data)
response = self.view(request)
self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
self.assertIn('uid', response.data)
user = utils.refresh(user)
self.assertFalse(user.check_password(data['new_password']))