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)
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)
def list(self, request, *args, **kwargs): """ Returns authenticated user profile""" serializer = UserProfileWithTokenSerializer( instance=request.user.profile, context={"request": request}) return Response(serializer.data)
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)
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)