Skip to content

Commit a7b3cdb

Browse files
committed
Release 3.4
1 parent 7870451 commit a7b3cdb

File tree

8 files changed

+271
-101
lines changed

8 files changed

+271
-101
lines changed

QueueIT.KnownUserV3.SDK.Tests/IntegrationConfig/IntegrationConfigHelpersTest.cs

Lines changed: 60 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,51 +13,74 @@ public class ComparisonOperatorHelperTest
1313
[Fact]
1414
public void Evaluate_Equals()
1515
{
16-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, false, false, "test1", "test1"));
17-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, false, false, "test1", "Test1"));
18-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, false, true, "test1", "Test1"));
19-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, true, false, "test1", "Test1"));
20-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, true, false, "test1", "test1"));
21-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, true, true, "test1", "Test1"));
16+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, false, false, "test1", "test1", null));
17+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, false, false, "test1", "Test1", null));
18+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, false, true, "test1", "Test1", null));
19+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, true, false, "test1", "Test1", null));
20+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, true, false, "test1", "test1", null));
21+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualS, true, true, "test1", "Test1", null));
2222
}
2323

2424
[Fact]
2525
public void Evaluate_Contains()
2626
{
27-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, false, "test_test1_test", "test1"));
28-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, false, "test_test1_test", "Test1"));
29-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, true, "test_test1_test", "Test1"));
30-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, true, false, "test_test1_test", "Test1"));
31-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, true, true, "test_test1", "Test1"));
32-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, true, false, "test_test1", "test1"));
33-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, false, "test_dsdsdsdtest1", "*"));
27+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, false, "test_test1_test", "test1", null));
28+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, false, "test_test1_test", "Test1", null));
29+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, true, "test_test1_test", "Test1", null));
30+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, true, false, "test_test1_test", "Test1", null));
31+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, true, true, "test_test1", "Test1", null));
32+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, true, false, "test_test1", "test1", null));
33+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.Contains, false, false, "test_dsdsdsdtest1", "*", null));
3434
}
3535

3636
[Fact]
3737
public void Evaluate_StartsWith()
3838
{
39-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, false, false, "test1_test1_test", "test1"));
40-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, false, false, "test1_test1_test", "Test1"));
41-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, false, true, "test1_test1_test", "Test1"));
42-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, true, true, "test1_test1_test", "Test1"));
39+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, false, false, "test1_test1_test", "test1", null));
40+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, false, false, "test1_test1_test", "Test1", null));
41+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, false, true, "test1_test1_test", "Test1", null));
42+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.StartsWith, true, true, "test1_test1_test", "Test1", null));
4343
}
4444

4545
[Fact]
4646
public void Evaluate_EndsWith()
4747
{
48-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, false, false, "test1_test1_testshop", "shop"));
49-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, false, false, "test1_test1_testshop2", "shop"));
50-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, false, true, "test1_test1_testshop", "Shop"));
51-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, true, true, "test1_test1_testshop", "Shop"));
48+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, false, false, "test1_test1_testshop", "shop", null));
49+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, false, false, "test1_test1_testshop2", "shop", null));
50+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, false, true, "test1_test1_testshop", "Shop", null));
51+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EndsWith, true, true, "test1_test1_testshop", "Shop", null));
5252
}
5353

5454
[Fact]
5555
public void Evaluate_MatchesWith()
5656
{
57-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, false, false, "test1_test1_testshop", ".*shop.*"));
58-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, false, false, "test1_test1_testshop2", ".*Shop.*"));
59-
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, false, true, "test1_test1_testshop", ".*Shop.*"));
60-
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, true, true, "test1_test1_testshop", ".*Shop.*"));
57+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, false, false, "test1_test1_testshop", ".*shop.*", null));
58+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, false, false, "test1_test1_testshop2", ".*Shop.*", null));
59+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, false, true, "test1_test1_testshop", ".*Shop.*", null));
60+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.MatchesWith, true, true, "test1_test1_testshop", ".*Shop.*", null));
61+
}
62+
63+
[Fact]
64+
public void Evaluate_EqualsAny()
65+
{
66+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualsAny, false, false, "test1", null, new string[] { "test1" }));
67+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualsAny, false, false, "test1", null, new string[] { "Test1" }));
68+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualsAny, false, true, "test1", null, new string[] { "Test1" }));
69+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualsAny, true, false, "test1", null, new string[] { "Test1" }));
70+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualsAny, true, false, "test1", null, new string[] { "test1" }));
71+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.EqualsAny, true, true, "test1", null, new string[] { "Test1" }));
72+
}
73+
74+
[Fact]
75+
public void Evaluate_ContainsAny()
76+
{
77+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.ContainsAny, false, false, "test_test1_test", null, new string[] { "test1" }));
78+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.ContainsAny, false, false, "test_test1_test", null, new string[] { "Test1" }));
79+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.ContainsAny, false, true, "test_test1_test", null, new string[] { "Test1" }));
80+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.ContainsAny, true, false, "test_test1_test", null, new string[] { "Test1" }));
81+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.ContainsAny, true, true, "test_test1", null, new string[] { "Test1" }));
82+
Assert.False(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.ContainsAny, true, false, "test_test1", null, new string[] { "test1" }));
83+
Assert.True(ComparisonOperatorHelper.Evaluate(ComparisonOperatorType.ContainsAny, false, false, "test_dsdsdsdtest1", null, new string[] { "*" }));
6184
}
6285
}
6386

@@ -150,20 +173,30 @@ public void Evaluate_Test()
150173
triggerPart.IsNegative = true;
151174
Assert.True(UserAgentValidatorHelper.Evaluate(triggerPart, "oglebot sample useraagent"));
152175

153-
154176
triggerPart.ValueToCompare = "googlebot";
155177
triggerPart.Operator = ComparisonOperatorType.Contains;
156178
triggerPart.IsIgnoreCase = false;
157179
triggerPart.IsNegative = true;
158180
Assert.False(UserAgentValidatorHelper.Evaluate(triggerPart, "googlebot"));
159181

160-
161182
triggerPart.ValueToCompare = "googlebot";
162183
triggerPart.IsIgnoreCase = true;
163184
triggerPart.IsNegative = false;
164185
triggerPart.Operator = ComparisonOperatorType.Contains;
165186
Assert.True(UserAgentValidatorHelper.Evaluate(triggerPart, "Googlebot"));
166187

188+
triggerPart.ValueToCompare = null;
189+
triggerPart.ValuesToCompare = new string[] { "googlebot" };
190+
triggerPart.IsIgnoreCase = true;
191+
triggerPart.IsNegative = false;
192+
triggerPart.Operator = ComparisonOperatorType.ContainsAny;
193+
Assert.True(UserAgentValidatorHelper.Evaluate(triggerPart, "Googlebot"));
194+
195+
triggerPart.ValuesToCompare = new string[] { "googlebot" };
196+
triggerPart.IsIgnoreCase = true;
197+
triggerPart.IsNegative = true;
198+
triggerPart.Operator = ComparisonOperatorType.EqualsAny;
199+
Assert.True(UserAgentValidatorHelper.Evaluate(triggerPart, "oglebot sample useraagent"));
167200
}
168201
}
169202

QueueIT.KnownUserV3.SDK.Tests/KnownUserTest.cs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ class UserInQueueServiceMock : IUserInQueueService
6464
public List<List<string>> validateQueueRequestCalls = new List<List<string>>();
6565
public List<List<string>> extendQueueCookieCalls = new List<List<string>>();
6666
public List<List<string>> cancelRequestCalls = new List<List<string>>();
67+
public List<List<string>> ignoreRequestCalls = new List<List<string>>();
6768

6869
public RequestValidationResult ValidateQueueRequest(string targetUrl, string queueitToken, QueueEventConfig config, string customerId, string secretKey)
6970
{
@@ -108,6 +109,12 @@ public RequestValidationResult ValidateCancelRequest(string targetUrl, CancelEve
108109

109110
return null;
110111
}
112+
113+
public RequestValidationResult GetIgnoreResult()
114+
{
115+
ignoreRequestCalls.Add(new List<string>());
116+
return null;
117+
}
111118
}
112119

113120
private void AssertRequestCookieContent(string[] cookieValues, params string[] expectedValues)
@@ -764,6 +771,44 @@ public void ValidateRequestByIntegrationConfig_RedirectLogic_Test(string redirec
764771
Assert.Equal(forcedTargetUrl, mock.validateQueueRequestCalls[0][0]);
765772
}
766773

774+
[Fact]
775+
public void ValidateRequestByIntegrationConfig_IgnoreAction()
776+
{
777+
// Arrange
778+
TriggerPart triggerPart = new TriggerPart();
779+
triggerPart.Operator = "Contains";
780+
triggerPart.ValueToCompare = "event1";
781+
triggerPart.UrlPart = "PageUrl";
782+
triggerPart.ValidatorType = "UrlValidator";
783+
triggerPart.IsNegative = false;
784+
triggerPart.IsIgnoreCase = true;
785+
786+
TriggerModel trigger = new TriggerModel();
787+
trigger.LogicalOperator = "And";
788+
trigger.TriggerParts = new TriggerPart[] { triggerPart };
789+
790+
IntegrationConfigModel config = new IntegrationConfigModel();
791+
config.Name = "event1action";
792+
config.EventId = "eventid";
793+
config.CookieDomain = "cookiedomain";
794+
config.Triggers = new TriggerModel[] { trigger };
795+
config.QueueDomain = "queuedomain";
796+
config.ActionType = ActionType.IgnoreAction;
797+
798+
CustomerIntegration customerIntegration = new CustomerIntegration();
799+
customerIntegration.Integrations = new IntegrationConfigModel[] { config };
800+
customerIntegration.Version = 3;
801+
802+
UserInQueueServiceMock mock = new UserInQueueServiceMock();
803+
KnownUser._UserInQueueService = (mock);
804+
805+
// Act
806+
KnownUser.ValidateRequestByIntegrationConfig("http://test.com?event1=true", "queueitToken", customerIntegration, "customerid", "secretkey");
807+
808+
// Assert
809+
Assert.True(mock.ignoreRequestCalls.Count() == 1);
810+
}
811+
767812
[Fact]
768813
public void ValidateRequestByIntegrationConfig_CancelAction()
769814
{
@@ -871,6 +916,7 @@ public void ValidateRequestByIntegrationConfig_Debug()
871916
config.QueueDomain = "knownusertest.queue-it.net";
872917
config.RedirectLogic = "AllowTParameter";
873918
config.ForcedTargetUrl = "";
919+
874920

875921
CustomerIntegration customerIntegration = new CustomerIntegration();
876922
customerIntegration.Integrations = new IntegrationConfigModel[] { config };

QueueIT.KnownUserV3.SDK.Tests/UserInQueueServiceTest.cs

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -484,6 +484,18 @@ public void ValidateCancelRequest()
484484
Assert.True(result.RedirectUrl.ToLower() == expectedUrl.ToLower());
485485
Assert.True(config.EventId == result.EventId);
486486
}
487+
488+
[Fact]
489+
public void GetIgnoreRequest()
490+
{
491+
UserInQueueService testObject = new UserInQueueService(null);
492+
var result = testObject.GetIgnoreResult();
493+
Assert.True(result.ActionType == ActionType.IgnoreAction);
494+
Assert.False(result.DoRedirect);
495+
Assert.Null(result.EventId);
496+
Assert.Null(result.QueueId);
497+
Assert.Null(result.RedirectUrl);
498+
}
487499
}
488500

489501
public class QueueITTokenGenerator

0 commit comments

Comments
 (0)