def setUp(self):
        self.token = AuthToken()
        self.token[api_settings.USER_ID_CLAIM] = 42
        self.token["username"] = "******"
        self.token["some_other_stuff"] = "arstarst"

        self.user = TokenUser(self.token)
    def test_eq(self):
        user1 = TokenUser({api_settings.USER_ID_CLAIM: 1})
        user2 = TokenUser({api_settings.USER_ID_CLAIM: 2})
        user3 = TokenUser({api_settings.USER_ID_CLAIM: 1})

        self.assertNotEqual(user1, user2)
        self.assertEqual(user1, user3)
    def setUp(self):
        self.token = AuthToken()
        self.token[api_settings.USER_ID_CLAIM] = 42
        self.token['username'] = '******'
        self.token['some_other_stuff'] = 'arstarst'

        self.user = TokenUser(self.token)
    def test_is_superuser(self):
        payload = {api_settings.USER_ID_CLAIM: 42}
        user = TokenUser(payload)

        self.assertFalse(user.is_superuser)

        payload["is_superuser"] = True
        user = TokenUser(payload)

        self.assertTrue(user.is_superuser)
    def test_is_staff(self):
        payload = {api_settings.USER_ID_CLAIM: 42}
        user = TokenUser(payload)

        self.assertFalse(user.is_staff)

        payload['is_staff'] = True
        user = TokenUser(payload)

        self.assertTrue(user.is_staff)
Ejemplo n.º 6
0
    def post(self, request):
        try:
            token = AccessToken(request.data["access"])
            token.check_exp()

        except Exception as e:
            return Response(invalidToken)

        user_id = TokenUser(token).id
        user = User.objects.filter(id=user_id).first()

        setOfClothes = SetOfClothes.objects.all().filter(users=user)

        if not setOfClothes:
            return Response({"response": "user have not set of clothes"})

        listClothes = []
        # print(setOfClothes)
        for i in setOfClothes:
            clothes = Clothes.objects.all().filter(set_Of_Clothes=i.id)

            serializer = ClothesSerializer(clothes, many=True)
            # listClothes.append({
            #     f'set {i.id}': serializer.data
            # })
            listClothes.append({f'{i.name_Set_Of_Clothes}': serializer.data})

        return Response(listClothes)
Ejemplo n.º 7
0
def _token_get_user_id(token):
    """
    The TokenUser class assumes tokens will have a recognizable user
    identifier claim.
    """
    try:
        Token = SlidingToken(token)
        assert api_settings.USER_ID_CLAIM in Token
        return TokenUser(Token).id
    except:
        raise InvalidJwtToken(detail='Token 失效')
Ejemplo n.º 8
0
    def get_user(self, validated_token):
        """
        Returns a stateless user object which is backed by the given validated
        token.
        """
        if api_settings.USER_ID_CLAIM not in validated_token:
            # The TokenUser class assumes tokens will have a recognizable user
            # identifier claim.
            raise InvalidToken(
                _('Token contained no recognizable user identification'))

        return TokenUser(validated_token)
Ejemplo n.º 9
0
def get_user(scope):
    try:
        headers = dict(scope.get('headers'))
        authorization = headers.get(b'authorization')

        token = AccessToken(authorization.decode().split(' ')[1])
        user_id = TokenUser(token).id
        user = get_user_model().objects.get(id=user_id)

    except Exception as UnauthenticatedUser:
        user = AnonymousUser()

    return user
Ejemplo n.º 10
0
    def put(self, request):
        try:
            token = AccessToken(request.data[0]["access"])
            token.check_exp()

        except Exception as e:
            return Response(invalidToken)

        if not existClothes(request):
            return Response(status=status.HTTP_400_BAD_REQUEST)

        # if existCloneSetOfClothes(request):
        #     return Response(status=status.HTTP_400_BAD_REQUEST)

        # get user in token
        user_id = TokenUser(token).id
        user = User.objects.filter(id=user_id).first()

        # create a new set of clothes and associate with a user
        setOfClothes = SetOfClothes.objects.create(
            users=user,
            name_Set_Of_Clothes=request.data[1]
            ["nameSetOfClothes"])  #bulk=False

        for i in range(2, len(request.data)):
            # print(str(request.data[i]))
            clothes = Clothes.objects.get_or_create(
                name_Clothes=request.data[i]["nameClothes"],
                type_Clothes=request.data[i]["typeClothes"],
                description=request.data[i]["description"],
                price=request.data[i]["price"],
                link_Image=request.data[i]["linkImage"],
                link_Source=request.data[i]["linkSource"])
            id_clothes = Clothes.objects.get(
                link_Source=request.data[i]["linkSource"]).id
            setOfClothes.clothes_set.add(id_clothes)

        return Response({"nameSetOfClothes": setOfClothes.name_Set_Of_Clothes})
class TestTokenUser(TestCase):
    def setUp(self):
        self.token = AuthToken()
        self.token[api_settings.USER_ID_CLAIM] = 42
        self.token["username"] = "******"
        self.token["some_other_stuff"] = "arstarst"

        self.user = TokenUser(self.token)

    def test_username(self):
        self.assertEqual(self.user.username, "deep-thought")

    def test_is_active(self):
        self.assertTrue(self.user.is_active)

    def test_str(self):
        self.assertEqual(str(self.user), "TokenUser 42")

    def test_id(self):
        self.assertEqual(self.user.id, 42)

    def test_pk(self):
        self.assertEqual(self.user.pk, 42)

    def test_is_staff(self):
        payload = {api_settings.USER_ID_CLAIM: 42}
        user = TokenUser(payload)

        self.assertFalse(user.is_staff)

        payload["is_staff"] = True
        user = TokenUser(payload)

        self.assertTrue(user.is_staff)

    def test_is_superuser(self):
        payload = {api_settings.USER_ID_CLAIM: 42}
        user = TokenUser(payload)

        self.assertFalse(user.is_superuser)

        payload["is_superuser"] = True
        user = TokenUser(payload)

        self.assertTrue(user.is_superuser)

    def test_eq(self):
        user1 = TokenUser({api_settings.USER_ID_CLAIM: 1})
        user2 = TokenUser({api_settings.USER_ID_CLAIM: 2})
        user3 = TokenUser({api_settings.USER_ID_CLAIM: 1})

        self.assertNotEqual(user1, user2)
        self.assertEqual(user1, user3)

    def test_hash(self):
        self.assertEqual(hash(self.user), hash(self.user.id))

    def test_not_implemented(self):
        with self.assertRaises(NotImplementedError):
            self.user.save()

        with self.assertRaises(NotImplementedError):
            self.user.delete()

        with self.assertRaises(NotImplementedError):
            self.user.set_password("arst")

        with self.assertRaises(NotImplementedError):
            self.user.check_password("arst")

    def test_groups(self):
        self.assertFalse(self.user.groups.exists())

    def test_user_permissions(self):
        self.assertFalse(self.user.user_permissions.exists())

    def test_get_group_permissions(self):
        self.assertEqual(len(self.user.get_group_permissions()), 0)

    def test_get_all_permissions(self):
        self.assertEqual(len(self.user.get_all_permissions()), 0)

    def test_has_perm(self):
        self.assertFalse(self.user.has_perm("test_perm"))

    def test_has_perms(self):
        self.assertFalse(self.user.has_perms(["test_perm"]))

    def test_has_module_perms(self):
        self.assertFalse(self.user.has_module_perms("test_module"))

    def test_is_anonymous(self):
        self.assertFalse(self.user.is_anonymous)

    def test_is_authenticated(self):
        self.assertTrue(self.user.is_authenticated)

    def test_get_username(self):
        self.assertEqual(self.user.get_username(), "deep-thought")
Ejemplo n.º 12
0
class TestTokenUser(TestCase):
    def setUp(self):
        self.token = AuthToken()
        self.token[api_settings.USER_ID_CLAIM] = 42
        self.token['some_other_stuff'] = 'arstarst'

        self.user = TokenUser(self.token)

    def test_username(self):
        self.assertEqual(self.user.username, '')

    def test_is_active(self):
        self.assertTrue(self.user.is_active)

    def test_str(self):
        self.assertEqual(six.text_type(self.user), 'TokenUser 42')

    def test_id(self):
        self.assertEqual(self.user.id, 42)

    def test_pk(self):
        self.assertEqual(self.user.pk, 42)

    def test_is_staff(self):
        payload = {api_settings.USER_ID_CLAIM: 42}
        user = TokenUser(payload)

        self.assertFalse(user.is_staff)

        payload['is_staff'] = True
        user = TokenUser(payload)

        self.assertTrue(user.is_staff)

    def test_is_superuser(self):
        payload = {api_settings.USER_ID_CLAIM: 42}
        user = TokenUser(payload)

        self.assertFalse(user.is_superuser)

        payload['is_superuser'] = True
        user = TokenUser(payload)

        self.assertTrue(user.is_superuser)

    def test_eq(self):
        user1 = TokenUser({api_settings.USER_ID_CLAIM: 1})
        user2 = TokenUser({api_settings.USER_ID_CLAIM: 2})
        user3 = TokenUser({api_settings.USER_ID_CLAIM: 1})

        self.assertNotEqual(user1, user2)
        self.assertEqual(user1, user3)

    def test_hash(self):
        self.assertEqual(hash(self.user), hash(self.user.id))

    def test_not_implemented(self):
        with self.assertRaises(NotImplementedError):
            self.user.save()

        with self.assertRaises(NotImplementedError):
            self.user.delete()

        with self.assertRaises(NotImplementedError):
            self.user.set_password('arst')

        with self.assertRaises(NotImplementedError):
            self.user.check_password('arst')

    def test_groups(self):
        self.assertFalse(self.user.groups.exists())

    def test_user_permissions(self):
        self.assertFalse(self.user.user_permissions.exists())

    def test_get_group_permissions(self):
        self.assertEqual(len(self.user.get_group_permissions()), 0)

    def test_get_all_permissions(self):
        self.assertEqual(len(self.user.get_all_permissions()), 0)

    def test_has_perm(self):
        self.assertFalse(self.user.has_perm('test_perm'))

    def test_has_perms(self):
        self.assertFalse(self.user.has_perms(['test_perm']))

    def test_has_module_perms(self):
        self.assertFalse(self.user.has_module_perms('test_module'))

    def test_is_anonymous(self):
        self.assertFalse(self.user.is_anonymous)

    def test_is_authenticated(self):
        self.assertTrue(self.user.is_authenticated)

    def test_get_username(self):
        self.assertEqual(self.user.get_username(), '')