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)
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)
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)
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)
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)
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)
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)