Esempio n. 1
0
class TestUserProfileWithTokenSerializer(TransactionTestCase):
    def setUp(self):
        self.serializer = UserProfileWithTokenSerializer()
        self.user_profile = create_user_profile(PROFILE_DATA)

    def test_get_temp_token(self):
        temp_token_key = self.serializer.get_temp_token(self.user_profile)
        temp_token = TempToken.objects.get(key=temp_token_key)

        is_expired = expired(temp_token.created)

        self.assertFalse(is_expired)

    def test_get_temp_token_recreates_if_expired(self):
        temp_token, created = TempToken.objects.get_or_create(
            user=self.user_profile.user)

        day = timedelta(seconds=settings.DEFAULT_TEMP_TOKEN_EXPIRY_TIME)
        today = now()
        yesterday = today - day
        temp_token.created = yesterday
        temp_token.save()

        temp_token_key = self.serializer.get_temp_token(self.user_profile)
        temp_token = TempToken.objects.get(key=temp_token_key)

        is_expired = expired(temp_token.created)

        self.assertFalse(is_expired)
class TestUserProfileSerializer(TransactionTestCase):

    def setUp(self):
        self.serializer = UserProfileWithTokenSerializer()
        self.user_profile = create_user_profile(PROFILE_DATA)

    def test_get_temp_token(self):
        temp_token_key = self.serializer.get_temp_token(self.user_profile)
        temp_token = TempToken.objects.get(key=temp_token_key)

        is_expired = expired(temp_token.created)

        self.assertFalse(is_expired)

    def test_get_temp_token_recreates_if_expired(self):
        temp_token, created = TempToken.objects.get_or_create(
            user=self.user_profile.user)

        day = timedelta(seconds=settings.DEFAULT_TEMP_TOKEN_EXPIRY_TIME)
        today = now()
        yesterday = today - day
        temp_token.created = yesterday
        temp_token.save()

        temp_token_key = self.serializer.get_temp_token(self.user_profile)
        temp_token = TempToken.objects.get(key=temp_token_key)

        is_expired = expired(temp_token.created)

        self.assertFalse(is_expired)
Esempio n. 3
0
def user_profile_w_token_response(request, status):
    """ Returns authenticated user profile"""

    if request and not request.user.is_anonymous:
        session = getattr(request, "session")
        if not session.session_key:
            # login user to create session token
            # TODO cannot call this without calling authenticate first or
            # setting the backend, commented for now.
            # login(request, request.user)
            session.set_expiry(DEFAULT_SESSION_EXPIRY_TIME)

    try:
        user_profile = request.user.profile
    except UserProfile.DoesNotExist:
        user_profile = cache.get(
            f'{USER_PROFILE_PREFIX}{request.user.username}')
        if not user_profile:
            with use_master:
                user_profile, _ = UserProfile.objects.get_or_create(
                    user=request.user)
                cache.set(f'{USER_PROFILE_PREFIX}{request.user.username}',
                          user_profile)

    serializer = UserProfileWithTokenSerializer(instance=user_profile,
                                                context={"request": request})

    return Response(serializer.data, status=status)
Esempio n. 4
0
    def list(self, request, *args, **kwargs):
        """ Returns authenticated user profile"""
        serializer = UserProfileWithTokenSerializer(
            instance=request.user.profile,
            context={"request": request})

        return Response(serializer.data)
Esempio n. 5
0
    def list(self, request, *args, **kwargs):
        """ Returns authenticated user profile"""

        if request and not request.user.is_anonymous():
            session = getattr(request, "session")
            if not session.session_key:
                # login user to create session token
                # TODO cannot call this without calling authenticate first or
                # setting the backend, commented for now.
                # login(request, request.user)
                session.set_expiry(DEFAULT_SESSION_EXPIRY_TIME)

        serializer = UserProfileWithTokenSerializer(
            instance=request.user.profile, context={"request": request})

        return Response(serializer.data)
Esempio n. 6
0
 def setUp(self):
     self.serializer = UserProfileWithTokenSerializer()
     self.user_profile = create_user_profile(PROFILE_DATA)
 def setUp(self):
     self.serializer = UserProfileWithTokenSerializer()
     self.user_profile = create_user_profile(PROFILE_DATA)