Exemple #1
0
 def test_return_forbidden_status__when_request_user_is_not_owner(self):
     user = create_user_with_email(email='*****@*****.**')
     user2 = create_user_with_email('*****@*****.**')
     self.client.credentials(HTTP_AUTHORIZATION='JWT ' +
                             generate_token_for_user(user2))
     response = self.client.delete(path='/users/' + str(user.pk) + '/')
     self.assertEqual(response.status_code, HTTP_403_FORBIDDEN)
Exemple #2
0
 def post(self, request):
     serializer = GoogleLoginSerializer(data=request.data)
     if serializer.is_valid():
         response = validate_google_token(
             serializer.validated_data['google_token'])
         if response.status_code == 200:
             try:
                 user = CustomUser.objects.get(
                     email=serializer.validated_data['email'])
             except CustomUser.DoesNotExist:
                 user_info = generate_user_info_from_google(
                     email=serializer.validated_data['email'],
                     name=serializer.validated_data['name'])
                 serializer = CustomUserSerializer(data=user_info)
                 if serializer.is_valid():
                     user = serializer.save()
                 else:
                     return Response(data=serializer.errors,
                                     status=HTTP_400_BAD_REQUEST)
             serializer = PublicCustomUserSerializer(instance=user)
             response_data = {
                 "token": generate_token_for_user(user),
                 "user": serializer.data
             }
             return Response(data=response_data, status=HTTP_200_OK)
         else:
             return Response(
                 data=DEFAULT_ERROR_MESSAGES['invalid_google_token'],
                 status=HTTP_400_BAD_REQUEST)
     return Response(data=serializer.errors, status=HTTP_400_BAD_REQUEST)
Exemple #3
0
 def post(self, request):
     serializer = LoginSerializer(data=request.data)
     if serializer.is_valid():
         try:
             user = CustomUser.objects.get(
                 email=serializer.validated_data['email'])
         except CustomUser.DoesNotExist:
             return Response(data=DEFAULT_ERROR_MESSAGES['invalid_email'],
                             status=HTTP_400_BAD_REQUEST)
         if not user.check_password(serializer.validated_data['password']):
             return Response(
                 data=DEFAULT_ERROR_MESSAGES['invalid_password'],
                 status=HTTP_400_BAD_REQUEST)
         serializer = PublicCustomUserSerializer(instance=user)
         response_data = {
             "token": generate_token_for_user(user),
             "user": serializer.data
         }
         return Response(data=response_data, status=HTTP_200_OK)
     return Response(data=serializer.errors, status=HTTP_400_BAD_REQUEST)
Exemple #4
0
 def setUp(self):
     self.client = APIClient()
     self.user = create_user_with_email('user_test')
     self.token = generate_token_for_user(self.user)
     self.client.credentials(HTTP_AUTHORIZATION='JWT ' + self.token)
Exemple #5
0
 def setUp(self):
     self.client = APIClient()
     self.user = create_user_with_email(email='*****@*****.**')
     self.token = generate_token_for_user(user=self.user)
     self.device = create_device_with_owner(owner=self.user)
     self.client.credentials(HTTP_AUTHORIZATION='JWT ' + self.token)
Exemple #6
0
 def test_return_not_found_status_when__user_does_not_exists(self):
     user = create_user_with_email('*****@*****.**')
     self.client.credentials(HTTP_AUTHORIZATION='JWT ' +
                             generate_token_for_user(user))
     response = self.client.delete(path='/users/100/')
     self.assertEqual(response.status_code, HTTP_404_NOT_FOUND)
Exemple #7
0
 def test_return_no_content_status__when_delete_is_done(self):
     user = create_user_with_email('*****@*****.**')
     self.client.credentials(HTTP_AUTHORIZATION='JWT ' +
                             generate_token_for_user(user))
     response = self.client.delete(path='/users/' + str(user.pk) + '/')
     self.assertEqual(response.status_code, HTTP_204_NO_CONTENT)