Esempio n. 1
0
    def post(self, request):
        serializer = self.InputSerializer(data=request.data)
        serializer.is_valid(raise_exception=True)

        user_create(**serializer.validated_data)

        return Response(status=status.HTTP_201_CREATED)
 def create_user(self):
     email = fake.email()
     password = fake.password()
     user_create(first_name=fake.first_name(),
                 last_name=fake.last_name(),
                 email=email,
                 avatar=None,
                 password=password)
     return {'email': email, 'password': password}
Esempio n. 3
0
    def test_api_valid_email(self):
        user_create(first_name=fake.first_name(),
                    last_name=fake.last_name(),
                    email=fake.email(),
                    avatar=None,
                    password=fake.password())
        self.assertEqual(1, BaseUser.objects.count())

        data = {'email': BaseUser.objects.first().email}
        response = self.client.post(self.url, data)
        self.assertEqual(201, response.status_code)
 def setUp(self):
     self.password = fake.password()
     self.user = user_create(first_name=fake.first_name(),
                             last_name=fake.last_name(),
                             password=self.password,
                             email=fake.email(),
                             avatar=None)
     self.service = user_password_change
Esempio n. 5
0
    def test_api_user_login_valid_return_data(self):
        email = fake.email()
        password = fake.password()

        user_create(
            first_name=fake.first_name(),
            last_name=fake.last_name(),
            email=email,
            password=password,
            avatar=None
        )
        self.assertEqual(1, BaseUser.objects.count())

        data = {
            'email': email,
            'password': password
        }
        response = self.client.post(self.url, data)
        self.assertEqual(200, response.status_code)

        # User login return dict with session and data user
        self.assertTrue(response.data)
    def test_token_is_none(self, user_password_reset_check_mock):
        user = user_create(first_name=fake.first_name(),
                           last_name=fake.last_name(),
                           password=fake.password(),
                           email=fake.email(),
                           avatar=None)

        # Obtain token and user
        user_password_reset(email=user.email)

        # Code no valid in check
        with self.assertRaises(ValidationError):
            self.service(token=None, password=user.password)
    def test_user_password_reset_success_and_call_event(
            self, user_password_reset_check_send_email_mock):
        password = fake.password()
        user = user_create(first_name=fake.first_name(),
                           last_name=fake.last_name(),
                           password=password,
                           email=fake.email(),
                           avatar=None)

        # Obtain token and user
        data = user_password_reset(email=user.email)
        self.service(token=data['token'], password=password)

        user_password_reset_check_send_email_mock.assert_called()
    def test_token_valid_with_vulnerable_password(
            self, user_password_reset_check_mock):
        user = user_create(
            first_name=fake.first_name(),
            last_name=fake.last_name(),
            password=fake.password(),
            email=fake.email(),
            avatar=None,
        )

        # Obtain token and user
        data = user_password_reset(email=user.email)

        # Token valid with invalid password
        password_vulnerable = fake.password(length=5, digits=False)
        with self.assertRaises(ValidationError):
            self.service(token=data['token'], password=password_vulnerable)
    def test_service_return_token_and_call_event(
            self, user_password_reset_send_email_mock):
        user = user_create(first_name=fake.first_name(),
                           last_name=fake.last_name(),
                           password=fake.password(),
                           email=fake.email(),
                           avatar=None)

        user_profile = self.service(email=user.email)

        # 'alcr3d-93e02ecaf523d3332a99462eb93989fb_NQ']
        result = list(user_profile)

        # Match length result -> Token
        self.assertEqual(1, len(result))

        user_password_reset_send_email_mock.assert_called()
Esempio n. 10
0
 def create_user(self):
     user_create(first_name=fake.first_name(),
                 last_name=fake.last_name(),
                 password=fake.password(),
                 email=fake.email(),
                 avatar=None)
    def test_api_return_users_data_filter_with_pagination(self):
        user1 = user_create(
            first_name=fake.first_name(),
            last_name=fake.last_name(),
            password=fake.password(),
            email=fake.email(),
            avatar=None)

        user2 = user_create(
            first_name=fake.first_name(),
            last_name=fake.last_name(),
            password=fake.password(),
            email=fake.email(),
            avatar=None)

        # Filter api with parameters
        first_response = self.client.get(self.url, data={'is_active': True})

        expect_first_response = OrderedDict({
            "limit": 1,
            "offset": 0,
            "count": BaseUser.objects.count(),
            "next": 'http://testserver/api/users/list/?is_active=True&limit=1&offset=1',
            "previous": None,
            "results": [
                OrderedDict({
                    "id": user1.id,
                    "first_name": user1.first_name,
                    "last_name": user1.last_name,
                    "email": user1.email,
                    "avatar": None,
                    "is_active": True,
                    "is_superuser": False
                })
            ]
        })

        self.assertEqual(expect_first_response, first_response.data)

        # Next response to request api
        next_response = self.client.get(
            self.url,
            data={'is_active': True, 'limit': 1, 'offset': 1})

        expect_next_response = OrderedDict({
            "limit": 1,
            "offset": 1,
            "count": BaseUser.objects.count(),
            "next": None,
            "previous": 'http://testserver/api/users/list/?is_active=True&limit=1',
            "results": [
                OrderedDict({
                    "id": user2.id,
                    "first_name": user2.first_name,
                    "last_name": user2.last_name,
                    "email": user2.email,
                    "avatar": None,
                    "is_active": True,
                    "is_superuser": False
                })
            ]
        })

        self.assertEqual(expect_next_response, next_response.data)