4
4
using System . Web ;
5
5
using Xunit ;
6
6
using System . Collections . Specialized ;
7
+ using System . Linq ;
7
8
8
9
namespace QueueIT . KnownUserV3 . SDK . Tests
9
10
{
@@ -846,20 +847,15 @@ public void ValidateRequestByIntegrationConfig_Debug()
846
847
. ValidateRequestByIntegrationConfig ( $ "http://test.com?event1=true",
847
848
queueitToken , customerIntegration , "customerId" , "secretKey" ) ;
848
849
849
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "pureUrl" ] ==
850
- "http://test.com?event1=true" ) ;
851
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "queueitToken" ] ==
852
- queueitToken ) ;
853
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "configVersion" ] ==
854
- "3" ) ;
855
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "OriginalUrl" ] ==
856
- "http://test.com/?event1=true&queueittoken=queueittokenvalue" ) ;
857
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "matchedConfig" ] ==
858
- "event1action" ) ;
859
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "targetUrl" ] ==
860
- "http://test.com?event1=true" ) ;
861
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "queueConfig" ] ==
862
- "EventId:event1&Version:3&QueueDomain:knownusertest.queue-it.net&CookieDomain:.test.com&ExtendCookieValidity:True&CookieValidityMinute:20&LayoutName:Christmas Layout by Queue-it&Culture:da-DK" ) ;
850
+ // Assert
851
+ var cookieValues = HttpUtility . UrlDecode ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Value ) . Split ( '|' ) ;
852
+ Assert . True ( cookieValues . Any ( v => v == $ "PureUrl=http://test.com?event1=true") ) ;
853
+ Assert . True ( cookieValues . Any ( v => v == $ "ConfigVersion=3") ) ;
854
+ Assert . True ( cookieValues . Any ( v => v == $ "MatchedConfig=event1action") ) ;
855
+ Assert . True ( cookieValues . Any ( v => v == $ "QueueitToken={ queueitToken } ") ) ;
856
+ Assert . True ( cookieValues . Any ( v => v == $ "OriginalUrl=http://test.com/?event1=true&queueittoken=queueittokenvalue") ) ;
857
+ Assert . True ( cookieValues . Any ( v => v == $ "TargetUrl=http://test.com?event1=true") ) ;
858
+ Assert . True ( cookieValues . Any ( v => v == $ "QueueConfig=EventId:event1&Version:3&QueueDomain:knownusertest.queue-it.net&CookieDomain:.test.com&ExtendCookieValidity:True&CookieValidityMinute:20&LayoutName:Christmas Layout by Queue-it&Culture:da-DK") ) ;
863
859
}
864
860
865
861
[ Fact ]
@@ -889,9 +885,8 @@ public void ValidateRequestByIntegrationConfig_Debug_WithoutMatch()
889
885
UserInQueueServiceMock mock = new UserInQueueServiceMock ( ) ;
890
886
KnownUser . _UserInQueueService = ( mock ) ;
891
887
892
-
893
888
CustomerIntegration customerIntegration = new CustomerIntegration ( ) ;
894
- customerIntegration . Integrations = new IntegrationConfigModel [ ] { } ;
889
+ customerIntegration . Integrations = new IntegrationConfigModel [ ] { } ;
895
890
customerIntegration . Version = 10 ;
896
891
897
892
var queueitToken = QueueITTokenGenerator . GenerateToken ( DateTime . UtcNow , "event1" ,
@@ -901,17 +896,15 @@ public void ValidateRequestByIntegrationConfig_Debug_WithoutMatch()
901
896
. ValidateRequestByIntegrationConfig ( "http://test.com?event1=true" ,
902
897
queueitToken , customerIntegration , "customerId" , "secretKey" ) ;
903
898
904
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "pureUrl" ] ==
905
- "http://test.com?event1=true" ) ;
906
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "queueitToken" ] ==
907
- queueitToken ) ;
908
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "configVersion" ] ==
909
- "10" ) ;
910
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "OriginalUrl" ] ==
911
- "http://test.com/?event1=true&queueittoken=queueittokenvalue" ) ;
912
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "matchedConfig" ] ==
913
- "NULL" ) ;
914
- }
899
+ // Assert
900
+ var cookieValues = HttpUtility . UrlDecode ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Value ) . Split ( '|' ) ;
901
+ Assert . True ( cookieValues . Any ( v => v == $ "PureUrl=http://test.com?event1=true") ) ;
902
+ Assert . True ( cookieValues . Any ( v => v == $ "QueueitToken={ queueitToken } ") ) ;
903
+ Assert . True ( cookieValues . Any ( v => v == $ "ConfigVersion=10") ) ;
904
+ Assert . True ( cookieValues . Any ( v => v == $ "OriginalUrl=http://test.com/?event1=true&queueittoken=queueittokenvalue") ) ;
905
+ Assert . True ( cookieValues . Any ( v => v == $ "MatchedConfig=NULL") ) ;
906
+ }
907
+
915
908
[ Fact ]
916
909
public void ValidateRequestByIntegrationConfig_Debug_WithoutMatch_NotValidHash ( )
917
910
{
@@ -998,15 +991,12 @@ public void ResolveQueueRequestByLocalConfig_Debug()
998
991
. ResolveQueueRequestByLocalConfig ( "http://test.com?event1=true" ,
999
992
queueitToken , eventConfig , "customerId" , "secretKey" ) ;
1000
993
1001
-
1002
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "queueitToken" ] ==
1003
- queueitToken ) ;
1004
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "OriginalUrl" ] ==
1005
- "http://test.com/?event1=true&queueittoken=queueittokenvalue" ) ;
1006
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "targetUrl" ] ==
1007
- "http://test.com?event1=true" ) ;
1008
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "queueConfig" ] ==
1009
- "EventId:eventId&Version:12&QueueDomain:queueDomain&CookieDomain:cookieDomain&ExtendCookieValidity:True&CookieValidityMinute:10&LayoutName:layoutName&Culture:culture" ) ;
994
+ // Assert
995
+ var cookieValues = HttpUtility . UrlDecode ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Value ) . Split ( '|' ) ;
996
+ Assert . True ( cookieValues . Any ( v => v == $ "QueueitToken={ queueitToken } ") ) ;
997
+ Assert . True ( cookieValues . Any ( v => v == $ "OriginalUrl=http://test.com/?event1=true&queueittoken=queueittokenvalue") ) ;
998
+ Assert . True ( cookieValues . Any ( v => v == $ "TargetUrl=http://test.com?event1=true") ) ;
999
+ Assert . True ( cookieValues . Any ( v => v == $ "QueueConfig=EventId:eventId&Version:12&QueueDomain:queueDomain&CookieDomain:cookieDomain&ExtendCookieValidity:True&CookieValidityMinute:10&LayoutName:layoutName&Culture:culture") ) ;
1010
1000
}
1011
1001
1012
1002
[ Fact ]
@@ -1051,15 +1041,12 @@ public void CancelRequestByLocalConfig_Debug()
1051
1041
. CancelRequestByLocalConfig ( "http://test.com?event1=true" ,
1052
1042
queueitToken , eventConfig , "customerId" , "secretKey" ) ;
1053
1043
1054
-
1055
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "queueitToken" ] ==
1056
- queueitToken ) ;
1057
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "OriginalUrl" ] ==
1058
- "http://test.com/?event1=true&queueittoken=queueittokenvalue" ) ;
1059
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "targetUrl" ] ==
1060
- "http://test.com?event1=true" ) ;
1061
- Assert . True ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Values [ "cancelConfig" ] ==
1062
- "EventId:eventId&Version:12&QueueDomain:queueDomain&CookieDomain:cookieDomain" ) ;
1044
+ // Assert
1045
+ var cookieValues = HttpUtility . UrlDecode ( httpContextMock . MockResponse . Cookies [ "queueitdebug" ] . Value ) . Split ( '|' ) ;
1046
+ Assert . True ( cookieValues . Any ( v => v == $ "QueueitToken={ queueitToken } ") ) ;
1047
+ Assert . True ( cookieValues . Any ( v => v == $ "OriginalUrl=http://test.com/?event1=true&queueittoken=queueittokenvalue") ) ;
1048
+ Assert . True ( cookieValues . Any ( v => v == $ "TargetUrl=http://test.com?event1=true") ) ;
1049
+ Assert . True ( cookieValues . Any ( v => v == $ "CancelConfig=EventId:eventId&Version:12&QueueDomain:queueDomain&CookieDomain:cookieDomain") ) ;
1063
1050
}
1064
1051
}
1065
1052
}
0 commit comments