def test_forgot_password_link_good(self): token = new_token(self.test_user) url = reverse('reset-password-link', kwargs={'token': token}) data = dict(old_password=TEST_USER_PASSWORD, new_password='******' + TEST_USER_PASSWORD) response = self.client.post(url, data, format='json') self.assertEqual(status.HTTP_200_OK, response.status_code) self.assertEqual(response.data.get('status', ''), 'success')
def post(self, request): user = User.objects.filter(email=request.data['email']).first() if user: package = dict( caller='jwt_auth', notification_type='FORGOT_PASSWORD', recipients=[user.email, ], context=dict( token=new_token(user), user=user.get_full_name() ) ) notify = Notification(**package) notify.send() return Response( dict(status="success", message="An email containing the password reset instruction to: \"%s\"" % ( user.email))) else: return Response({ "status": "no_registered_user" })
def test_new_token(self): token = new_token(self.test_user) self.assertEqual(check_token(token), self.test_user)
def test_forgot_password_link_wrong(self): token = new_token(self.test_user) url = reverse('reset-password-link', kwargs={'token': token}) data = dict(new_password='') response = self.client.post(url, data, format='json') self.assertEqual(response.data.get('error_code', ''), 'new_password_required')