@@ -49,7 +49,7 @@ function UserInQueueServiceTest()
4949
5050 local function test_validateQueueRequest_ValidState_ExtendableCookie_NoCookieExtensionFromConfig_DoNotRedirectDoNotStoreCookieWithExtension ()
5151 userInQueueStateCookieRepositoryMock .reset ()
52- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , " queueId" , nil , " idle" )
52+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , true , " queueId" , nil , " idle" )
5353
5454 local eventConfig = models .QueueEventConfig .create ()
5555 eventConfig .eventId = " e1"
@@ -76,7 +76,7 @@ function UserInQueueServiceTest()
7676
7777 local function test_validateQueueRequest_ValidState_ExtendableCookie_CookieExtensionFromConfig_DoNotRedirectDoStoreCookieWithExtension ()
7878 userInQueueStateCookieRepositoryMock .reset ()
79- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , " queueId" , nil , " disabled" )
79+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , true , " queueId" , nil , " disabled" )
8080
8181 local eventConfig = models .QueueEventConfig .create ()
8282 eventConfig .eventId = " e1"
@@ -106,7 +106,7 @@ function UserInQueueServiceTest()
106106
107107 local function test_validateQueueRequest_ValidState_NoExtendableCookie_DoNotRedirectDoNotStoreCookieWithExtension ()
108108 userInQueueStateCookieRepositoryMock .reset ()
109- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , " queueId" , 3 , " idle" )
109+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , true , " queueId" , 3 , " idle" )
110110
111111 local eventConfig = models .QueueEventConfig .create ()
112112 eventConfig .eventId = " e1"
@@ -128,7 +128,7 @@ function UserInQueueServiceTest()
128128
129129 local function test_validateQueueRequest_NoCookie_TampredToken_RedirectToErrorPageWithHashError_DoNotStoreCookie ()
130130 userInQueueStateCookieRepositoryMock .reset ()
131- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
131+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
132132
133133 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
134134 local eventConfig = models .QueueEventConfig .create ()
@@ -162,13 +162,13 @@ function UserInQueueServiceTest()
162162 assert ( os.time () - timestamp < 100 )
163163 local urlWithoutTimeStamp = result .redirectUrl :gsub (tsPart , " " )
164164 assert ( urlWithoutTimeStamp == expectedErrorUrl )
165- assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) ~ = nil )
165+ assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) = = nil )
166166 end
167167 test_validateQueueRequest_NoCookie_TampredToken_RedirectToErrorPageWithHashError_DoNotStoreCookie ()
168168
169169 local function test_validateQueueRequest_NoCookie_ExpiredTimeStampInToken_RedirectToErrorPageWithTimeStampError_DoNotStoreCookie ()
170170 userInQueueStateCookieRepositoryMock .reset ()
171- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
171+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
172172
173173 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
174174 local eventConfig = models .QueueEventConfig .create ()
@@ -201,13 +201,13 @@ function UserInQueueServiceTest()
201201 assert ( os.time () - timestamp < 100 )
202202 local urlWithoutTimeStamp = result .redirectUrl :gsub (tsPart , " " )
203203 assert ( urlWithoutTimeStamp == expectedErrorUrl )
204- assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) ~ = nil )
204+ assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) = = nil )
205205 end
206206 test_validateQueueRequest_NoCookie_ExpiredTimeStampInToken_RedirectToErrorPageWithTimeStampError_DoNotStoreCookie ()
207207
208208 local function test_validateQueueRequest_NoCookie_EventIdMismatch_RedirectToErrorPageWithEventIdMissMatchError_DoNotStoreCookie ()
209209 userInQueueStateCookieRepositoryMock .reset ()
210- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
210+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
211211
212212 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
213213 local eventConfig = models .QueueEventConfig .create ()
@@ -240,13 +240,13 @@ function UserInQueueServiceTest()
240240 assert ( os.time () - timestamp < 100 )
241241 local urlWithoutTimeStamp = result .redirectUrl :gsub (tsPart , " " )
242242 assert ( urlWithoutTimeStamp == expectedErrorUrl )
243- assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) ~ = nil )
243+ assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) = = nil )
244244 end
245245 test_validateQueueRequest_NoCookie_EventIdMismatch_RedirectToErrorPageWithEventIdMissMatchError_DoNotStoreCookie ()
246246
247247 local function test_validateQueueRequest_NoCookie_ValidToken_ExtendableCookie_DoNotRedirect_StoreExtendableCookie ()
248248 userInQueueStateCookieRepositoryMock .reset ()
249- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
249+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
250250
251251 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
252252 local eventConfig = models .QueueEventConfig .create ()
@@ -281,7 +281,7 @@ function UserInQueueServiceTest()
281281
282282 local function test_validateQueueRequest_NoCookie_ValidToken_CookieValidityMinuteFromToken_DoNotRedirect_StoreNonExtendableCookie ()
283283 userInQueueStateCookieRepositoryMock .reset ()
284- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
284+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
285285
286286 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
287287 local eventConfig = models .QueueEventConfig .create ()
@@ -316,7 +316,7 @@ function UserInQueueServiceTest()
316316
317317 local function test_NoCookie_NoValidToken_WithoutToken_RedirectToQueue ()
318318 userInQueueStateCookieRepositoryMock .reset ()
319- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
319+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
320320
321321 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
322322 local eventConfig = models .QueueEventConfig .create ()
@@ -348,13 +348,13 @@ function UserInQueueServiceTest()
348348 assert ( result .eventId == ' e1' )
349349 assert ( result .queueId == nil )
350350 assert ( result .redirectUrl == expectedRedirectUrl )
351- assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) ~ = nil )
351+ assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) = = nil )
352352 end
353353 test_NoCookie_NoValidToken_WithoutToken_RedirectToQueue ()
354354
355355 local function test_ValidateRequest_NoCookie_WithoutToken_RedirectToQueue_NotargetUrl ()
356356 userInQueueStateCookieRepositoryMock .reset ()
357- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
357+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
358358
359359 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
360360 local eventConfig = models .QueueEventConfig .create ()
@@ -384,13 +384,73 @@ function UserInQueueServiceTest()
384384 assert ( result .eventId == ' e1' )
385385 assert ( result .queueId == nil )
386386 assert ( result .redirectUrl == expectedRedirectUrl )
387- assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) ~ = nil )
387+ assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) = = nil )
388388 end
389- test_ValidateRequest_NoCookie_WithoutToken_RedirectToQueue_NotargetUrl ()
389+ test_ValidateRequest_NoCookie_WithoutToken_RedirectToQueue_NotargetUrl ()
390+
391+ local function test_validateQueueRequest_InvalidCookie_InvalidToken_CancelCookie ()
392+ userInQueueStateCookieRepositoryMock .reset ()
393+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , false , nil , nil , nil )
394+
395+ local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
396+ local eventConfig = models .QueueEventConfig .create ()
397+ eventConfig .eventId = " e1"
398+ eventConfig .queueDomain = " testDomain.com"
399+ eventConfig .cookieValidityMinute = 10
400+ eventConfig .extendCookieValidity = true
401+ eventConfig .version = 11
402+ eventConfig .culture = ' en-US'
403+ eventConfig .layoutName = ' testlayout'
404+ eventConfig .actionName = " QueueAction"
405+ local url = " http://test.test.com?b=h"
406+
407+ local token = " "
408+
409+ local result = userInQueueService .validateQueueRequest (url , " ts_sasa~cv_adsasa~ce_falwwwse~q_944c1f44-60dd-4e37-aabc-f3e4bb1c8895" , eventConfig , " testCustomer" , key )
410+
411+ assert ( next (userInQueueStateCookieRepositoryMock .storeCall ) == nil )
412+ assert ( result :doRedirect () )
413+ assert ( result .eventId == ' e1' )
414+ assert ( result .queueId == nil )
415+ assert ( result .actionName == eventConfig .actionName )
416+ assert ( utils .startsWith (result .redirectUrl , " https://testDomain.com/error/hash/?c=testCustomer&e=e1" ) )
417+ assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) ~= nil )
418+ end
419+ test_validateQueueRequest_InvalidCookie_InvalidToken_CancelCookie ()
420+
421+ local function test_validateQueueRequest_NoCookie_InvalidToken ()
422+ userInQueueStateCookieRepositoryMock .reset ()
423+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , false , nil , nil , nil )
424+
425+ local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
426+ local eventConfig = models .QueueEventConfig .create ()
427+ eventConfig .eventId = " e1"
428+ eventConfig .queueDomain = " testDomain.com"
429+ eventConfig .cookieValidityMinute = 10
430+ eventConfig .extendCookieValidity = true
431+ eventConfig .version = 11
432+ eventConfig .culture = ' en-US'
433+ eventConfig .layoutName = ' testlayout'
434+ eventConfig .actionName = " QueueAction"
435+ local url = " http://test.test.com?b=h"
436+
437+ local token = " "
438+
439+ local result = userInQueueService .validateQueueRequest (url , " ts_sasa~cv_adsasa~ce_falwwwse~q_944c1f44-60dd-4e37-aabc-f3e4bb1c8895" , eventConfig , " testCustomer" , key )
440+
441+ assert ( next (userInQueueStateCookieRepositoryMock .storeCall ) == nil )
442+ assert ( result :doRedirect () )
443+ assert ( result .eventId == ' e1' )
444+ assert ( result .queueId == nil )
445+ assert ( result .actionName == eventConfig .actionName )
446+ assert ( utils .startsWith (result .redirectUrl , " https://testDomain.com/error/hash/?c=testCustomer&e=e1" ) )
447+ assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) == nil )
448+ end
449+ test_validateQueueRequest_NoCookie_InvalidToken ()
390450
391- local function test_validateQueueRequest_NoCookie_InValidToken ()
451+ local function test_validateQueueRequest_InvalidCookie_InvalidToken_CancelCookie ()
392452 userInQueueStateCookieRepositoryMock .reset ()
393- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (false , nil , nil , nil )
453+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , false , nil , nil , nil )
394454
395455 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
396456 local eventConfig = models .QueueEventConfig .create ()
@@ -416,11 +476,11 @@ function UserInQueueServiceTest()
416476 assert ( utils .startsWith (result .redirectUrl , " https://testDomain.com/error/hash/?c=testCustomer&e=e1" ) )
417477 assert ( next (userInQueueStateCookieRepositoryMock .cancelQueueCookieCall ) ~= nil )
418478 end
419- test_validateQueueRequest_NoCookie_InValidToken ()
479+ test_validateQueueRequest_InvalidCookie_InvalidToken_CancelCookie ()
420480
421481 local function test_validateCancelRequest ()
422482 userInQueueStateCookieRepositoryMock .reset ()
423- userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , " queueid" , 3 , " idle" )
483+ userInQueueStateCookieRepositoryMock .returnThisState = userInQueueStateCookieRepositoryMock .StateInfo .create (true , true , " queueid" , 3 , " idle" )
424484
425485 local key = " 4e1db821-a825-49da-acd0-5d376f2068db"
426486 local eventConfig = models .CancelEventConfig .create ()
0 commit comments