Ejemplo n.º 1
0
        public void Execute_WhenNoActionsOrConditions_ReturnsContinueProcessing()
        {
            // Arrange
            ConditionalAction action = new ConditionalAction();
            IRewriteContext context = new MockRewriteContext();

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(RewriteProcessing.ContinueProcessing, result);
        }
Ejemplo n.º 2
0
        public void Execute_SetsStatusCode_ReturnsStopProcessing()
        {
            // Arrange
            ForbiddenAction action = new ForbiddenAction();
            IRewriteContext context = new MockRewriteContext();

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(HttpStatusCode.Forbidden, context.StatusCode);
            Assert.AreEqual(RewriteProcessing.StopProcessing, result);
        }
Ejemplo n.º 3
0
        public void IsMatch_WhenMixedConditions_ReturnsFalse()
        {
            // Arrange
            RedirectAction action = new RedirectAction("/", true);
            IRewriteContext context = new MockRewriteContext();
            action.Conditions.Add(new MockRewriteCondition(true));
            action.Conditions.Add(new MockRewriteCondition(false));

            // Act
            bool match = action.IsMatch(context);

            // Assert
            Assert.IsFalse(match);
        }
Ejemplo n.º 4
0
        public void IsMatch_WhenMultipleMatchingConditions_ReturnsTrue()
        {
            // Arrange
            RewriteAction action = new RewriteAction("/", RewriteProcessing.RestartProcessing);
            IRewriteContext context = new MockRewriteContext();
            action.Conditions.Add(new MockRewriteCondition(true));
            action.Conditions.Add(new MockRewriteCondition(true));

            // Act
            bool match = action.IsMatch(context);

            // Assert
            Assert.IsTrue(match);
        }
Ejemplo n.º 5
0
        public void IsMatch_WhenMultipleMatchingConditions_ReturnsTrue()
        {
            // Arrange
            ConditionalAction action = new ConditionalAction();
            IRewriteContext context = new MockRewriteContext();
            action.Conditions.Add(new MockRewriteCondition(true));
            action.Conditions.Add(new MockRewriteCondition(true));

            // Act
            bool match = action.IsMatch(context);

            // Assert
            Assert.IsTrue(match);
        }
Ejemplo n.º 6
0
        public void Execute_WhenConditionAndAction_ReturnsExpectedResult()
        {
            // Arrange
            ConditionalAction action = new ConditionalAction();
            IRewriteContext context = new MockRewriteContext();
            action.Conditions.Add(new MockRewriteCondition(true));
            action.Actions.Add(new MockRewriteAction(RewriteProcessing.ContinueProcessing));

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(RewriteProcessing.ContinueProcessing, result);
        }
Ejemplo n.º 7
0
        public void Execute_SetsLocation_ReturnsCorrectValue()
        {
            // Arrange
            string location = "/NewLocation";
            RewriteProcessing processing = RewriteProcessing.RestartProcessing;
            RewriteAction action = new RewriteAction(location, processing);
            action.Conditions.Add(new MockRewriteCondition(true));
            IRewriteContext context = new MockRewriteContext();

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(processing, result);
            Assert.AreEqual(location, context.Location);
        }
        public void Execute_WhenMissingAppSetting_SetsPropertyToEmptyString_ReturnsContinueProcessing()
        {
            // Arrange
            string propertyName = "PropertyName";
            string appSettingKey = "MissingAppSettingKey";
            SetAppSettingPropertyAction action = new SetAppSettingPropertyAction(propertyName, appSettingKey);
            IRewriteContext context = new MockRewriteContext();

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(RewriteProcessing.ContinueProcessing, result);
            CollectionAssert.Contains(context.Properties.Keys, propertyName);
            Assert.AreEqual(String.Empty, context.Properties[propertyName]);
        }
Ejemplo n.º 9
0
        public void Execute_SetsProperty_ReturnsContinueProcessing()
        {
            // Arrange
            string propertyName = "PropertyName";
            string propertyValue = "PropertyValue";
            SetPropertyAction action = new SetPropertyAction(propertyName, propertyValue);
            IRewriteContext context = new MockRewriteContext();

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(RewriteProcessing.ContinueProcessing, result);
            CollectionAssert.Contains(context.Properties.Keys, propertyName);
            Assert.AreEqual(propertyValue, context.Properties[propertyName]);
        }
Ejemplo n.º 10
0
        public void Execute_SetsCookie_ReturnsContinueProcessing()
        {
            // Arrange
            string cookieName = "CookieName";
            string cookieValue = "CookieValue";
            SetCookieAction action = new SetCookieAction(cookieName, cookieValue);
            IRewriteContext context = new MockRewriteContext();

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(RewriteProcessing.ContinueProcessing, result);
            CollectionAssert.Contains(context.ResponseCookies.Keys, cookieName);
            Assert.AreEqual(cookieValue, context.ResponseCookies[cookieName].Value);
        }
Ejemplo n.º 11
0
        public void Execute_WhenTemporary_SetsStatusCodeAndLocation_ReturnsStopProcessing()
        {
            // Arrange
            string location = "/NewLocation";
            bool permanent = false;
            RedirectAction action = new RedirectAction(location, permanent);
            action.Conditions.Add(new MockRewriteCondition(true));
            IRewriteContext context = new MockRewriteContext();

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(RewriteProcessing.StopProcessing, result);
            Assert.AreEqual(HttpStatusCode.Found, context.StatusCode);
            Assert.AreEqual(location, context.Location);
        }
        public void Execute_SetsPropertyAppSetting_ReturnsContinueProcessing()
        {
            // Arrange
            string propertyName = "PropertyName";
            string appSettingKey = "AppSettingKey";
            string appSettingValue = "AppSettingValue";
            SetAppSettingPropertyAction action = new SetAppSettingPropertyAction(propertyName, appSettingKey);
            IRewriteContext context = new MockRewriteContext();
            context.ConfigurationManager.AppSettings[appSettingKey] = appSettingValue;

            // Act
            RewriteProcessing result = action.Execute(context);

            // Assert
            Assert.AreEqual(RewriteProcessing.ContinueProcessing, result);
            CollectionAssert.Contains(context.Properties.Keys, propertyName);
            Assert.AreEqual(appSettingValue, context.Properties[propertyName]);
        }
Ejemplo n.º 13
0
        public void IsMatch_WhenNoConditions_ReturnsTrue()
        {
            // Arrange
            RedirectAction action = new RedirectAction("/", true);
            IRewriteContext context = new MockRewriteContext();

            // Act
            bool match = action.IsMatch(context);

            // Assert
            Assert.IsTrue(match);
        }
Ejemplo n.º 14
0
        public void IsMatch_WhenSingleConditionDoesNotMatch_ReturnsFalse()
        {
            // Arrange
            RewriteAction action = new RewriteAction("/", RewriteProcessing.RestartProcessing);
            IRewriteContext context = new MockRewriteContext();
            action.Conditions.Add(new MockRewriteCondition(false));

            // Act
            bool match = action.IsMatch(context);

            // Assert
            Assert.IsFalse(match);
        }
Ejemplo n.º 15
0
        public void IsMatch_WhenSingleConditionDoesNotMatch_ReturnsFalse()
        {
            // Arrange
            ConditionalAction action = new ConditionalAction();
            IRewriteContext context = new MockRewriteContext();
            action.Conditions.Add(new MockRewriteCondition(false));

            // Act
            bool match = action.IsMatch(context);

            // Assert
            Assert.IsFalse(match);
        }