def test_validateRequest_InvalidCookie_InvalidToken_CancelCookie(self): config = QueueEventConfig() config.eventId = "e1" config.queueDomain = "testDomain.com" config.cookieValidityMinute = 10 config.extendCookieValidity = False config.version = 10 config.culture = None config.layoutName = 'testlayout' config.actionName = "QueueAction" targetUrl = "http://test.test.com?b=h" knownUserVersion = UserInQueueService.SDK_VERSION httpContextProviderMock = HttpContextProviderMock() userInQueueStateCookieRepositoryMock = UserInQueueStateCookieRepositoryMock( httpContextProviderMock) userInQueueStateCookieRepositoryMock.arrayReturns['getState'].append( StateInfo(True, False, None, None, None)) testObject = UserInQueueService(httpContextProviderMock, userInQueueStateCookieRepositoryMock) result = testObject.validateQueueRequest( targetUrl, "ts_sasa~cv_adsasa~ce_falwwwse~q_944c1f44-60dd-4e37-aabc-f3e4bb1c8895", config, "testCustomer", "key") assert (result.doRedirect()) assert (result.redirectUrl.startswith( "https://testDomain.com/error/hash/?c=testCustomer&e=e1&ver={0}&kupver=mock&cver=10&man=QueueAction&l=testlayout&queueittoken=ts_sasa~cv_adsasa~ce_falwwwse~q_944c1f44-60dd-4e37-aabc-f3e4bb1c8895&" .format(knownUserVersion))) assert ( not userInQueueStateCookieRepositoryMock.expectCallAny('store')) assert (result.eventId == config.eventId) assert (result.actionName == config.actionName) assert (userInQueueStateCookieRepositoryMock.expectCallAny( 'cancelQueueCookie'))
def test_ValidateQueueRequest_NoCookie_InValidToken(self): key = "4e1db821-a825-49da-acd0-5d376f2068db" queueConfig = QueueEventConfig() queueConfig.eventId = "e1" queueConfig.queueDomain = "testDomain.com" queueConfig.cookieValidityMinute = 10 queueConfig.extendCookieValidity = True queueConfig.version = 11 queueConfig.culture = 'en-US' queueConfig.layoutName = 'testlayout' queueConfig.actionName = "QueueAction" url = "http://test.test.com?b=h" httpContextProviderMock = HttpContextProviderMock() userInQueueStateCookieRepositoryMock = UserInQueueStateCookieRepositoryMock( httpContextProviderMock) userInQueueStateCookieRepositoryMock.arrayReturns['getState'].append( StateInfo(False, False, None, None, None)) testObject = UserInQueueService(httpContextProviderMock, userInQueueStateCookieRepositoryMock) result = testObject.validateQueueRequest( url, "ts_sasa~cv_adsasa~ce_falwwwse~q_944c1f44-60dd-4e37-aabc-f3e4bb1c8895", queueConfig, "testCustomer", key) assert ( not userInQueueStateCookieRepositoryMock.expectCallAny('store')) assert (result.doRedirect()) assert (result.eventId == 'e1') assert (result.queueId == None) assert (result.redirectUrl.startswith( "https://testDomain.com/error/hash/?c=testCustomer&e=e1")) assert (queueConfig.actionName == result.actionName) assert (not userInQueueStateCookieRepositoryMock.expectCallAny( 'cancelQueueCookie'))
def test_ValidateRequest_NoCookie_WithoutToken_RedirectToQueue_NotargetUrl( self): key = "4e1db821-a825-49da-acd0-5d376f2068db" queueConfig = QueueEventConfig() queueConfig.eventId = "e1" queueConfig.queueDomain = "testDomain.com" queueConfig.cookieValidityMinute = 10 queueConfig.extendCookieValidity = True queueConfig.version = 11 queueConfig.culture = 'en-US' queueConfig.layoutName = 'testlayout' queueConfig.actionName = "Queue Action (._~-) !*|'\"" httpContextProviderMock = HttpContextProviderMock() userInQueueStateCookieRepositoryMock = UserInQueueStateCookieRepositoryMock( httpContextProviderMock) userInQueueStateCookieRepositoryMock.arrayReturns['getState'].append( StateInfo(False, False, None, None, None)) token = "" expectedRedirectUrl = "https://testDomain.com/?c=testCustomer&e=e1" + \ "&ver=" + UserInQueueService.SDK_VERSION + \ "&kupver=mock" + \ "&cver=11" + \ "&man=" + QueueitHelpers.urlEncode(queueConfig.actionName) + \ "&cid=en-US" + \ "&l=testlayout" testObject = UserInQueueService(httpContextProviderMock, userInQueueStateCookieRepositoryMock) result = testObject.validateQueueRequest(None, token, queueConfig, "testCustomer", key) assert ( not userInQueueStateCookieRepositoryMock.expectCallAny('store')) assert (result.doRedirect()) assert (result.eventId == 'e1') assert (result.queueId == None) assert (result.redirectUrl.upper() == expectedRedirectUrl.upper()) assert (queueConfig.actionName == result.actionName) assert (not userInQueueStateCookieRepositoryMock.expectCallAny( 'cancelQueueCookie'))
def test_validateRequest_InvalidCookie_WithoutToken_RedirectToQueue_CancelCookie( self): config = QueueEventConfig() config.eventId = "e1" config.queueDomain = "testDomain.com" config.cookieValidityMinute = 10 config.extendCookieValidity = False config.version = 11 config.culture = None config.layoutName = 'testlayout' config.actionName = "QueueAction" expectedUrl = "https://testDomain.com/?c=testCustomer&e=e1" + \ "&ver=" + UserInQueueService.SDK_VERSION + \ "&kupver=mock" + \ "&cver=11" + \ "&man=" + QueueitHelpers.urlEncode(config.actionName) + \ "&l=testlayout" httpContextProviderMock = HttpContextProviderMock() userInQueueStateCookieRepositoryMock = UserInQueueStateCookieRepositoryMock( httpContextProviderMock) userInQueueStateCookieRepositoryMock.arrayReturns['getState'].append( StateInfo(True, False, None, None, None)) testObject = UserInQueueService(httpContextProviderMock, userInQueueStateCookieRepositoryMock) result = testObject.validateQueueRequest(None, "", config, "testCustomer", "key") assert (result.doRedirect()) assert (result.redirectUrl.upper() == expectedUrl.upper()) assert ( not userInQueueStateCookieRepositoryMock.expectCallAny('store')) assert (result.eventId == config.eventId) assert (result.actionName == config.actionName) assert (userInQueueStateCookieRepositoryMock.expectCallAny( 'cancelQueueCookie'))