public void ValidateRequestByIntegrationConfig_Test() { // Arrange UserInQueueServiceMock mock = new UserInQueueServiceMock(); KnownUser._UserInQueueService = (mock); TriggerPart triggerPart = new TriggerPart(); triggerPart.Operator = "Contains"; triggerPart.ValueToCompare = "event1"; triggerPart.UrlPart = "PageUrl"; triggerPart.ValidatorType = "UrlValidator"; triggerPart.IsNegative = false; triggerPart.IsIgnoreCase = true; TriggerModel trigger = new TriggerModel(); trigger.LogicalOperator = "And"; trigger.TriggerParts = new TriggerPart[] { triggerPart }; IntegrationConfigModel config = new IntegrationConfigModel(); config.Name = "event1action"; //config.ActionType = "Queue"; config.EventId = "event1"; config.CookieDomain = ".test.com"; config.LayoutName = "Christmas Layout by Queue-it"; config.Culture = "da-DK"; config.ExtendCookieValidity = true; config.CookieValidityMinute = 20; config.Triggers = new TriggerModel[] { trigger }; config.QueueDomain = "knownusertest.queue-it.net"; config.RedirectLogic = "AllowTParameter"; config.ForcedTargetUrl = ""; CustomerIntegration customerIntegration = new CustomerIntegration(); customerIntegration.Integrations = new IntegrationConfigModel[] { config }; customerIntegration.Version = 3; // Act KnownUser.ValidateRequestByIntegrationConfig("http://test.com?event1=true", "queueitToken", customerIntegration, "customerId", "secretKey"); // Assert Assert.True(mock.validateRequestCalls.Count == 1); Assert.Equal("http://test.com?event1=true", mock.validateRequestCalls[0][0]); Assert.Equal("queueitToken", mock.validateRequestCalls[0][1]); Assert.Equal(".test.com:Christmas Layout by Queue-it:da-DK:event1:knownusertest.queue-it.net:true:20:3", mock.validateRequestCalls[0][2]); Assert.Equal("customerId", mock.validateRequestCalls[0][3]); Assert.Equal("secretKey", mock.validateRequestCalls[0][4]); }
private static RequestValidationResult HandleCancelAction( string currentUrlWithoutQueueITToken, string queueitToken, CustomerIntegration customerIntegrationInfo, string customerId, string secretKey, Dictionary <string, string> debugEntries, IntegrationConfigModel matchedConfig) { var cancelEventConfig = new CancelEventConfig() { QueueDomain = matchedConfig.QueueDomain, EventId = matchedConfig.EventId, Version = customerIntegrationInfo.Version, CookieDomain = matchedConfig.CookieDomain }; var targetUrl = GenerateTargetUrl(currentUrlWithoutQueueITToken); return(CancelRequestByLocalConfig(targetUrl, queueitToken, cancelEventConfig, customerId, secretKey, debugEntries)); }
private static RequestValidationResult HandleQueueAction( string currentUrlWithoutQueueITToken, string queueitToken, CustomerIntegration customerIntegrationInfo, string customerId, string secretKey, Dictionary <string, string> debugEntries, IntegrationConfigModel matchedConfig, bool isDebug) { var targetUrl = ""; switch (matchedConfig.RedirectLogic) { case "ForcedTargetUrl": case "ForecedTargetUrl": targetUrl = matchedConfig.ForcedTargetUrl; break; case "EventTargetUrl": targetUrl = ""; break; default: targetUrl = GenerateTargetUrl(currentUrlWithoutQueueITToken); break; } var queueEventConfig = new QueueEventConfig { QueueDomain = matchedConfig.QueueDomain, Culture = matchedConfig.Culture, EventId = matchedConfig.EventId, ExtendCookieValidity = matchedConfig.ExtendCookieValidity.Value, LayoutName = matchedConfig.LayoutName, CookieValidityMinute = matchedConfig.CookieValidityMinute.Value, CookieDomain = matchedConfig.CookieDomain, IsCookieHttpOnly = matchedConfig.IsCookieHttpOnly ?? false, IsCookieSecure = matchedConfig.IsCookieSecure ?? false, Version = customerIntegrationInfo.Version, ActionName = matchedConfig.Name }; return(ResolveQueueRequestByLocalConfig(targetUrl, queueitToken, queueEventConfig, customerId, secretKey, debugEntries, isDebug)); }
private static RequestValidationResult HandleCancelAction( string currentUrlWithoutQueueITToken, string queueitToken, CustomerIntegration customerIntegrationInfo, string customerId, string secretKey, Dictionary <string, string> debugEntries, IntegrationConfigModel matchedConfig, bool isDebug) { var cancelEventConfig = new CancelEventConfig { QueueDomain = matchedConfig.QueueDomain, EventId = matchedConfig.EventId, Version = customerIntegrationInfo.Version, CookieDomain = matchedConfig.CookieDomain, IsCookieHttpOnly = matchedConfig.IsCookieHttpOnly ?? false, IsCookieSecure = matchedConfig.IsCookieSecure ?? false, ActionName = matchedConfig.Name }; return(CancelRequestByLocalConfig(currentUrlWithoutQueueITToken, queueitToken, cancelEventConfig, customerId, secretKey, debugEntries, isDebug)); }