コード例 #1
0
    def setUp(self):
        self.primary_user = UserFactory.create(**self.users[0])
        self.secondary_user = UserFactory.create(**self.users[1])

        self.client = APIClient()
        self.client.force_authenticate(self.primary_user)

        self.secondary_client = APIClient()
        self.secondary_client.force_authenticate(self.secondary_user)
コード例 #2
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)
コード例 #3
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)
コード例 #4
0
 def test_login_wrong_password(self, authenticate_and_test):
     UserFactory(**USER_DATA)
     data = {
         **USER_DATA,
         "password": INVALID_PASSWORD,
     }
     authenticate_and_test("authentication:login", data, success=False)
コード例 #5
0
 def test_create_with_existing_user(self):
     user = UserFactory()
     response = self.check_create(400, {
         "email": user.email,
         "password": "******"
     })
     self.assertEqual(response["portunus_uuid"], user.portunus_uuid)
     self.assertEqual(response["user_exists"], True)
コード例 #6
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)
コード例 #7
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)
コード例 #8
0
 def test_register_existing_email(self, authenticate_and_test):
     UserFactory(**USER_DATA)
     data = {**USER_DATA, "password": INVALID_PASSWORD}
     authenticate_and_test("authentication:register", data, success=False)
コード例 #9
0
 def test_login(self, authenticate_and_test):
     UserFactory(**USER_DATA)
     authenticate_and_test("authentication:login", USER_DATA)
コード例 #10
0
 def test_wrong_user(self):
     other_user = UserFactory()
     self.check_user(other_user, status_code=403)
コード例 #11
0
 def setUp(self):
     self.user = UserFactory()