Пример #1
0
    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)
Пример #2
0
    def test_refresh_should_update_instance_when_instance_changed(self):
        instance = models.MockModel.objects.create(field='old')

        models.MockModel.objects.filter(pk=instance.pk).update(field='new')

        instance = utils.refresh(instance)
        self.assertEqual(instance.field, 'new')
Пример #3
0
 def test_update_user_data(self):
     self.assertNotEqual(self.user.first_name, 'Aaron')
     request = self.factory.post(data={
         'first_name': 'Aaron',
     }, user=self.user)
     response = self.view(request)
     self.assert_redirect(response, self.observer.get_absolute_url())
     user = refresh(self.user)
     self.assertEqual(user.first_name, 'Aaron')
Пример #4
0
 def test_update_observer_data(self):
     self.assertNotEqual(self.observer.limiting_magnitude, 11)
     request = self.factory.post(data={
         'limiting_magnitude': 11,
     }, user=self.user)
     response = self.view(request)
     self.assert_redirect(response, self.observer.get_absolute_url())
     observer = refresh(self.observer)
     self.assertEqual(observer.limiting_magnitude, 11)
Пример #5
0
    def test_post_should_set_new_password(self):
        user = create_user()
        data = {"new_password": "******", "current_password": "******"}
        request = self.factory.post(user=user, data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_200_OK)
        user = utils.refresh(user)
        self.assertTrue(user.check_password(data["new_password"]))
Пример #6
0
    def test_post_should_not_set_new_username_if_invalid(self):
        user = create_user()
        data = {"new_username": "******", "current_password": "******"}
        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.assertNotEqual(user.username, data["new_username"])
Пример #7
0
    def test_put_should_update_user(self):
        user = create_user()
        data = {"email": "*****@*****.**"}
        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)
Пример #8
0
    def test_post_should_set_new_username(self):
        user = create_user()
        data = {"new_username": "******", "current_password": "******"}
        request = self.factory.post(user=user, data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_200_OK)
        user = utils.refresh(user)
        self.assertEqual(data["new_username"], user.username)
Пример #9
0
    def test_post_should_not_set_new_password_if_mismatch(self):
        user = create_user()
        data = {"new_password": "******", "re_new_password": "******", "current_password": "******"}
        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"]))
Пример #10
0
    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": "******"}
        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"]))
Пример #11
0
    def test_post_should_not_set_new_password_if_wrong_token(self):
        user = create_user()
        data = {"uid": djoser.utils.encode_uid(user.pk), "token": "wrong-token", "new_password": "******"}
        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
        self.assertEqual(response.data["non_field_errors"], [djoser.constants.INVALID_TOKEN_ERROR])
        user = utils.refresh(user)
        self.assertFalse(user.check_password(data["new_password"]))
Пример #12
0
    def test_post_should_not_set_new_username_if_exists(self):
        username = "******"
        create_user(username=username)
        user = create_user(username="******")
        data = {"new_username": username, "current_password": "******"}
        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.assertNotEqual(user.username, username)
Пример #13
0
    def test_put_should_update_model(self):
        instance = models.MockModel.objects.create(field='test value')
        data = {
            'field': 'test new value',
        }
        request = self.factory.put(data=data)

        response = self.view(request, pk=instance.pk)

        self.assert_status_equal(response, status.HTTP_200_OK)
        instance = utils.refresh(instance)
        self.assertEqual(instance.field, data['field'])
Пример #14
0
    def test_post_should_activate_user_and_not_login(self):
        user = create_user()
        user.is_active = False
        user.save()
        data = {"uid": djoser.utils.encode_uid(user.pk), "token": default_token_generator.make_token(user)}
        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_200_OK)
        user = utils.refresh(user)
        self.assertTrue(user.is_active)
Пример #15
0
    def test_post_with_sanitizers(self):
        user = create_user()
        data = {
            'new_username': '******',
            'current_password': '******',
        }
        request = self.factory.post(user=user, data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_204_NO_CONTENT)
        user = utils.refresh(user)
        self.assertEqual('JOH', user.username)
Пример #16
0
    def test_post_should_set_new_username(self):
        user = create_user()
        data = {
            'new_username': '******',
            'current_password': '******',
        }
        request = self.factory.post(user=user, data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_200_OK)
        user = utils.refresh(user)
        self.assertEqual(data['new_username'], user.username)
Пример #17
0
    def test_post_should_set_new_password(self):
        user = create_user()
        data = {
            'new_password': '******',
            'current_password': '******',
        }
        request = self.factory.post(user=user, data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_204_NO_CONTENT)
        user = utils.refresh(user)
        self.assertTrue(user.check_password(data['new_password']))
Пример #18
0
    def test_post_should_not_set_new_username_if_mismatch(self):
        user = create_user()
        data = {
            'new_username': '******',
            're_new_username': '******',
            'current_password': '******',
        }
        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.assertNotEqual(data['new_username'], user.username)
Пример #19
0
    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': '******',
        }
        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']))
Пример #20
0
    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': '******',
        }
        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']))
Пример #21
0
    def test_post_should_not_set_new_password_if_wrong_token(self):
        user = create_user()
        data = {
            'uid': djoser.utils.encode_uid(user.pk),
            'token': 'wrong-token',
            'new_password': '******',
        }
        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
        self.assertEqual(response.data['non_field_errors'], [djoser.constants.INVALID_TOKEN_ERROR])
        user = utils.refresh(user)
        self.assertFalse(user.check_password(data['new_password']))
Пример #22
0
    def test_post_should_not_set_new_username_if_exists(self):
        username = '******'
        create_user(username=username)
        user = create_user(username='******')
        data = {
            'new_username': username,
            'current_password': '******',
        }
        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.assertNotEqual(user.username, username)
Пример #23
0
    def test_post_should_set_new_password(self):
        user = create_user()
        data = {
            'uid': djoser.utils.encode_uid(user.pk),
            'token': default_token_generator.make_token(user),
            'new_password': '******',
        }

        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_200_OK)
        user = utils.refresh(user)
        self.assertTrue(user.check_password(data['new_password']))
Пример #24
0
    def test_post_should_activate_user_and_not_login(self):
        user = create_user()
        user.is_active = False
        user.save()
        data = {
            'uid': djoser.utils.encode_uid(user.pk),
            'token': default_token_generator.make_token(user),
        }
        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_204_NO_CONTENT)
        user = utils.refresh(user)
        self.assertTrue(user.is_active)
Пример #25
0
    def test_post_not_set_new_username_if_exists(self):
        username = '******'
        create_user(username=username)
        user = create_user(username='******')
        self.client.force_authenticate(user=user)

        data = {
            'new_username': username,
            'current_password': '******',
        }
        response = self.client.post(reverse('user-change-username'), data=data)

        self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
        user = utils.refresh(user)
        self.assertNotEqual(user.username, username)
Пример #26
0
    def test_post_should_set_new_password(self):
        user = create_user()
        data = {
            'uid': djoser.utils.encode_uid(user.pk),
            'token': djoser.utils.get_token_generator().make_token(user),
            'new_password': '******',
        }

        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_200_OK)
        user = utils.refresh(user)
        self.assertTrue(user.check_password(data['new_password']))
Пример #27
0
    def test_post_should_not_set_new_username_if_exists(self):
        username = '******'
        create_user(username=username)
        user = create_user(username='******')
        data = {
            'new_username': username,
            'current_password': '******',
        }
        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.assertNotEqual(user.username, username)
Пример #28
0
    def test_post_should_not_set_new_password_if_mismatch(self):
        user = create_user()
        data = {
            "uid": djoser.utils.encode_uid(user.pk),
            "token": default_token_generator.make_token(user),
            "new_password": "******",
            "re_new_password": "******",
        }

        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
        user = utils.refresh(user)
        self.assertFalse(user.check_password(data["new_password"]))
Пример #29
0
    def test_post_should_not_set_new_password_if_mismatch(self):
        user = create_user()
        data = {
            'uid': djoser.utils.encode_uid(user.pk),
            'token': djoser.utils.get_token_generator().make_token(user),
            'new_password': '******',
            're_new_password': '******',
        }

        request = self.factory.post(data=data)

        response = self.view(request)

        self.assert_status_equal(response, status.HTTP_400_BAD_REQUEST)
        user = utils.refresh(user)
        self.assertFalse(user.check_password(data['new_password']))
Пример #30
0
 def refresh(self, instance):
     return refresh(instance)