Beispiel #1
0
        public void ValidateReturnsValidOnValidPatternProperty()
        {
            var schema = new JsonSchema04
            {
                Type       = JsonSchemaType.Object,
                Properties = new Dictionary <string, IJsonSchema>
                {
                    ["test1"] = new JsonSchema04 {
                        Type = JsonSchemaType.String
                    }
                },
                AdditionalProperties = AdditionalProperties.False,
                PatternProperties    = new Dictionary <Regex, IJsonSchema>
                {
                    { new Regex("[0-9]"), new JsonSchema04 {
                          Type = JsonSchemaType.Integer
                      } }
                }
            };
            var json = new JsonObject {
                { "test1", "value" }, { "test2", 2 }
            };

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #2
0
        public void ValidateReturnsValidOnValidAdditionalProperty()
        {
            var schema = new JsonSchema04
            {
                Type       = JsonSchemaType.Object,
                Properties = new Dictionary <string, IJsonSchema>
                {
                    ["test1"] = new JsonSchema04 {
                        Type = JsonSchemaType.String
                    }
                },
                AdditionalProperties =
                    new AdditionalProperties {
                    Definition = new JsonSchema04 {
                        Type = JsonSchemaType.String
                    }
                }
            };
            var json = new JsonObject {
                { "test1", "value" }, { "test", "value" }
            };

            var results = schema.Validate(json);

            results.AssertValid();
        }
        public void Draft04_ValidateReturnsValidOnMoreThanExclusiveMinimum()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.Integer, Minimum = 5, ExclusiveMinimum = true
            };
            var json = (JsonValue)10;

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #4
0
        public void ValidateReturnsValidOnValidIpv4Format()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Format = StringFormat.Ipv4
            };
            var json = (JsonValue)"255.255.1.1";

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #5
0
        public void ValidateReturnsValidOnValidHostNameFormat()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Format = StringFormat.HostName
            };
            var json = (JsonValue)"me.you.com";

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #6
0
        public void ValidateReturnsErrorOnPatternNonMatch()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Pattern = "^[0-9_]+$"
            };
            var json = (JsonValue)"test123";

            var results = schema.Validate(json);

            results.AssertInvalid();
        }
Beispiel #7
0
        public void ValidateReturnsErrorOnInvalidUriFormat()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Format = StringFormat.Uri
            };
            var json = (JsonValue)"test123^%";

            var results = schema.Validate(json);

            results.AssertInvalid();
        }
Beispiel #8
0
        public void ValidateReturnsValidOnValidUriFormat()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Format = StringFormat.Uri
            };
            var json = (JsonValue)"http://en.wikipedia.org/wiki/ISO_8601";

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #9
0
        public void ValidateReturnsValidOnLengthLessThanMaxLength()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, MaxLength = 5
            };
            var json = (JsonValue)"test";

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #10
0
        public void ValidateReturnsErrorOnTooLong()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, MaxLength = 5
            };
            var json = (JsonValue)"test123";

            var results = schema.Validate(json);

            results.AssertInvalid();
        }
Beispiel #11
0
        public void ValidateReturnsValidOnValidEmailFormat2()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Format = StringFormat.Email
            };
            var json = (JsonValue)"*****@*****.**";

            var results = schema.Validate(json);

            results.AssertValid();
        }
        public void Draft04_ValidateReturnsErrorOnEqualsExclusiveMinimum()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.Integer, Minimum = 5, ExclusiveMinimum = true
            };
            var json = (JsonValue)5;

            var results = schema.Validate(json);

            results.AssertInvalid();
        }
Beispiel #13
0
        public void ValidateReturnsValidOnValidDateTimeFormat()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Format = StringFormat.DateTime
            };
            var json = (JsonValue)"2016-01-25T10:32:02Z";

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #14
0
        public void ValidateReturnsErrorOnNonString()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String
            };
            var json = new JsonObject();

            var results = schema.Validate(json);

            results.AssertInvalid();
        }
Beispiel #15
0
        public void Draft04_ValidateReturnsValidOnLessThanExclusiveMaximum()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.Number, Maximum = 5, ExclusiveMaximum = true
            };
            var json = (JsonValue)3;

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #16
0
        public void ValidateReturnsValidOnPatternMatch()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Pattern = "^[0-9_]+$"
            };
            var json = (JsonValue)"81681_1868";

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #17
0
        public void ValidateReturnsValidOnValidIpv6Format()
        {
            var schema = new JsonSchema04 {
                Type = JsonSchemaType.String, Format = StringFormat.Ipv6
            };
            var json = (JsonValue)"2001:0db8:85a3:0042:1000:8a2e:0370:7334";

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #18
0
        public void ValidateReturnsValidOnNotTooFewProperties()
        {
            var schema = new JsonSchema04
            {
                Type          = JsonSchemaType.Object,
                MinProperties = 1
            };
            var json = new JsonObject {
                { "test1", "value" }, { "test2", 2 }
            };

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #19
0
        public void ValidateReturnsInvalidOnTooFewProperties()
        {
            var schema = new JsonSchema04
            {
                Type          = JsonSchemaType.Object,
                MinProperties = 5
            };
            var json = new JsonObject {
                { "test1", "value" }, { "test2", 2 }
            };

            var results = schema.Validate(json);

            Assert.AreEqual(1, results.Errors.Count());
            Assert.AreEqual(false, results.Valid);
        }
Beispiel #20
0
        public void ValidateReturnsValidOnOptionalPropertyMissing()
        {
            var schema = new JsonSchema04
            {
                Type       = JsonSchemaType.Object,
                Properties = new Dictionary <string, IJsonSchema>
                {
                    ["test1"] = new JsonSchema04 {
                        Type = JsonSchemaType.String
                    }
                }
            };
            var json = new JsonObject();

            var results = schema.Validate(json);

            results.AssertValid();
        }
Beispiel #21
0
        public void ValidateReturnsErrorOnInvalidProperty()
        {
            var schema = new JsonSchema04
            {
                Type       = JsonSchemaType.Object,
                Properties = new Dictionary <string, IJsonSchema>
                {
                    ["test1"] = new JsonSchema04 {
                        Type = JsonSchemaType.String
                    }
                }
            };
            var json = new JsonObject {
                { "test1", 1 }
            };

            var results = schema.Validate(json);

            results.AssertInvalid();
        }
Beispiel #22
0
        public void ValidateReturnsErrorOnRequiredPropertyMissing()
        {
            var schema = new JsonSchema04
            {
                Type       = JsonSchemaType.Object,
                Properties = new Dictionary <string, IJsonSchema>
                {
                    ["test1"] = new JsonSchema04 {
                        Type = JsonSchemaType.String
                    }
                },
                Required = new List <string> {
                    "test1"
                }
            };
            var json = new JsonObject();

            var results = schema.Validate(json);

            results.AssertInvalid();
        }