A class representing a Stump rule that evaluates the length of the body of an HTTP request.
Inheritance: IStumpRule
示例#1
0
        public void IsMatch_AllowsBodySizeBetween5and50Bytes(int bodyLength, bool expectedResult)
        {
            var rule = new BodyLengthRule(5, 50);

            var request = CreateRequest(bodyLength);
            Assert.AreEqual(expectedResult, rule.IsMatch(request));
        }
        public void GetRuleSettings_WhenCalled_ReturnsList()
        {
            var rule = new BodyLengthRule(10, 10);
            var list = new List <RuleSetting>(rule.GetRuleSettings());

            Assert.AreEqual(2, list.Count);
        }
示例#3
0
        public void InitializeFromSettings_WithNullSettings_ThrowsException()
        {
            var rule = new BodyLengthRule();

            Assert.That(
                () => rule.InitializeFromSettings(null),
                Throws.Exception.TypeOf<ArgumentNullException>().With.Property("ParamName").EqualTo("settings"));
        }
        public void IsMatch_EnforcesZeroLengthBodySize(int bodyLength, bool expectedResult)
        {
            var rule = new BodyLengthRule(0, 0);

            var request = CreateRequest(bodyLength);

            Assert.AreEqual(expectedResult, rule.IsMatch(request));
        }
        public void InitializeFromSettings_WithNullSettings_ThrowsException()
        {
            var rule = new BodyLengthRule();

            Assert.That(
                () => rule.InitializeFromSettings(null),
                Throws.Exception.TypeOf <ArgumentNullException>().With.Property("ParamName").EqualTo("settings"));
        }
        public void IsMatch_AllowsBodySizeBetween5and50Bytes(int bodyLength, bool expectedResult)
        {
            var rule = new BodyLengthRule(5, 50);

            var request = CreateRequest(bodyLength);

            Assert.AreEqual(expectedResult, rule.IsMatch(request));
        }
        public void IsMatch_EnforcesExactBodySizeOf15Bytes(int bodyLength, bool expectedResult)
        {
            var rule = new BodyLengthRule(15, 15);

            var request = CreateRequest(bodyLength);

            Assert.AreEqual(expectedResult, rule.IsMatch(request));
        }
示例#8
0
        public void InitializeFromSettings_WhenInitialized_ThrowsException()
        {
            var rule = new BodyLengthRule(10, 10);
            var settings = new[]
            {
                    new RuleSetting { Name = "length.maximum", Value = "10" },
                    new RuleSetting { Name = "length.minimum", Value = "10" }
            };

            Assert.That(
                () => rule.InitializeFromSettings(settings),
                Throws.Exception.TypeOf<InvalidOperationException>());
        }
示例#9
0
        public void InitializeFromSettings_WithValidSettings_InitializesCorrectly()
        {
            var settings = new[]
            {
                new RuleSetting { Name = "length.maximum", Value = "15" },
                new RuleSetting { Name = "length.minimum", Value = "10" },
            };

            var rule = new BodyLengthRule();
            rule.InitializeFromSettings(settings);

            Assert.IsTrue(rule.IsInitialized);
            Assert.AreEqual(15, rule.MaximumBodyLength);
            Assert.AreEqual(10, rule.MinimumBodyLength);
        }
示例#10
0
        public void InitializeFromSettings_WhenInitialized_ThrowsException()
        {
            var rule     = new BodyLengthRule(10, 10);
            var settings = new[]
            {
                new RuleSetting {
                    Name = "length.maximum", Value = "10"
                },
                new RuleSetting {
                    Name = "length.minimum", Value = "10"
                }
            };

            Assert.That(
                () => rule.InitializeFromSettings(settings),
                Throws.Exception.TypeOf <InvalidOperationException>());
        }
示例#11
0
        public void InitializeFromSettings_WithValidSettings_InitializesCorrectly()
        {
            var settings = new[]
            {
                new RuleSetting {
                    Name = "length.maximum", Value = "15"
                },
                new RuleSetting {
                    Name = "length.minimum", Value = "10"
                },
            };

            var rule = new BodyLengthRule();

            rule.InitializeFromSettings(settings);

            Assert.IsTrue(rule.IsInitialized);
            Assert.AreEqual(15, rule.MaximumBodyLength);
            Assert.AreEqual(10, rule.MinimumBodyLength);
        }
示例#12
0
 public void GetRuleSettings_WhenCalled_ReturnsList()
 {
     var rule = new BodyLengthRule(10, 10);
     var list = new List<RuleSetting>(rule.GetRuleSettings());
     Assert.AreEqual(2, list.Count);
 }
示例#13
0
 public void Constructor_Default_NotInitialized()
 {
     var rule = new BodyLengthRule();
     Assert.IsFalse(rule.IsInitialized);
 }
示例#14
0
        public void Constructor_Default_NotInitialized()
        {
            var rule = new BodyLengthRule();

            Assert.IsFalse(rule.IsInitialized);
        }
示例#15
0
        public void IsMatch_WithNullRequest_ReturnsFalse()
        {
            var rule = new BodyLengthRule(15, 15);

            Assert.IsFalse(rule.IsMatch(null));
        }
示例#16
0
        public void IsMatch_EnforcesExactBodySizeOf15Bytes(int bodyLength, bool expectedResult)
        {
            var rule = new BodyLengthRule(15, 15);

            var request = CreateRequest(bodyLength);
            Assert.AreEqual(expectedResult, rule.IsMatch(request));
        }
示例#17
0
        public void IsMatch_EnforcesZeroLengthBodySize(int bodyLength, bool expectedResult)
        {
            var rule = new BodyLengthRule(0, 0);

            var request = CreateRequest(bodyLength);
            Assert.AreEqual(expectedResult, rule.IsMatch(request));
        }
示例#18
0
 public void IsMatch_WithNullRequest_ReturnsFalse()
 {
     var rule = new BodyLengthRule(15, 15);
     Assert.IsFalse(rule.IsMatch(null));
 }