コード例 #1
0
    def test_result_limit(self):
        email_template = "aaa{}@aaa.aaa"
        for i in range(MAX_SEARCH_RESULTS + 1):
            UserFactory(email=email_template.format(i))

        staff_user = StaffUserFactory()
        self.client.force_authenticate(staff_user)

        args = {"search": email_template[-MIN_SEARCH_LENGTH:]}
        response = self.client.get(self.endpoint_path, args, format="json")
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.json()), MAX_SEARCH_RESULTS)
コード例 #2
0
    def test_create_with_existing_user(self):
        staff_user = StaffUserFactory(**USER_DATA)

        factory = APIRequestFactory()
        view = CreateUserView.as_view()
        request = factory.post(reverse("authentication:create_user"), USER_DATA, format="json")
        force_authenticate(request, user=staff_user)
        response = view(request)

        self.assertEqual(response.status_code, 400)
        self.assertEqual(
            json.loads(response.content)["portunus_uuid"], staff_user.portunus_uuid
        )
        self.assertEqual(json.loads(response.content)["user_exists"], True)
コード例 #3
0
    def test_search_string(self):
        u = UserFactory(email="*****@*****.**")
        staff_user = StaffUserFactory(email="*****@*****.**")
        self.client.force_authenticate(staff_user)

        args = {"search": u.email[-MIN_SEARCH_LENGTH + 1:]}
        response = self.client.get(self.endpoint_path, args, format="json")
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.json()), 0)

        args = {"search": u.email[-MIN_SEARCH_LENGTH:]}
        response = self.client.get(self.endpoint_path, args, format="json")
        self.assertEqual(response.status_code, 200)
        self.assertEqual(len(response.json()), 1)
コード例 #4
0
    def test_search_email(self, use_email, search_substring):
        user1 = UserFactory(email="*****@*****.**")
        UserFactory(
            email="*****@*****.**")  # should not be returned by the search
        staff_user = StaffUserFactory(email="*****@*****.**")
        self.client.force_authenticate(staff_user)

        search_email = user1.email[:-3] if search_substring else user1.email
        args = {"search": search_email} if use_email else None
        response = self.client.get(self.endpoint_path, args, format="json")
        self.assertEqual(response.status_code, 200)

        response_users = [user1] if use_email else User.objects.none()
        self.assertCountEqual(response.json(),
                              UserSerializer(response_users, many=True).data)
コード例 #5
0
    def test_list_users(self, from_uuid):
        user1 = UserFactory()
        user2 = UserFactory()
        staff_user = StaffUserFactory()
        self.client.force_authenticate(staff_user)

        args = ({
            "portunus_uuids": [user1.portunus_uuid, user2.portunus_uuid]
        } if from_uuid else None)
        response = self.client.get(self.endpoint_path, args, format="json")
        self.assertEqual(response.status_code, 200)

        response_users = [user1, user2] if from_uuid else User.objects.none()
        self.assertCountEqual(response.json(),
                              UserSerializer(response_users, many=True).data)
コード例 #6
0
    def test_create_with_no_existing_user(self):
        staff_user = StaffUserFactory(**USER_DATA)

        factory = APIRequestFactory()
        view = CreateUserView.as_view()
        new_email = "*****@*****.**"
        request = factory.post(
            reverse("authentication:create_user"),
            {"email": new_email, "password": VALID_PASSWORD,},
            format="json",
        )
        force_authenticate(request, user=staff_user)
        response = view(request)
        new_user = User.objects.get(email=new_email)

        self.assertEqual(response.status_code, 200)
        self.assertEqual(
            json.loads(response.content)["portunus_uuid"], str(new_user.portunus_uuid)
        )
コード例 #7
0
 def test_staff_user(self):
     staff_user = StaffUserFactory()
     self.client.force_authenticate(staff_user)
     self.check_get(200)
     self.check_delete(403)
コード例 #8
0
    def check_create(self, status_code, args=None):
        self.client.force_authenticate(StaffUserFactory())
        response = self.client.post(self.endpoint_path, args, format="json")
        self.assertEqual(response.status_code, status_code)

        return response.json()
コード例 #9
0
 def test_staff_user(self):
     staff_user = StaffUserFactory()
     self.check_user(staff_user)