public void SimpleTypeValidationValid() { var schema = SchemaBuilderTests.SimpleSchemaExample(); var newObj = new { stringProp = "seattle, wa", urlProp = "http://example.org", numberProp = 1234567901, dateProp = DateTime.UtcNow, floatProp = 123123.1231231231 }; string json = JsonConvert.SerializeObject(newObj, Settings); ValidationError[] errors; Assert.IsTrue(schema.ValidateJson(new JsonExample(json), out errors, null, null)); Assert.AreEqual(0, errors.Length); }
public void SimpleTypeValidationMissingProperty() { var schema = SchemaBuilderTests.SimpleSchemaExample(); var newObj = new { stringProp = "seattle, wa", numberProp = 1234567901, dateProp = DateTime.UtcNow, floatProp = 123123.1231231231 }; string json = JsonConvert.SerializeObject(newObj, Settings); ValidationError[] errors; Assert.IsFalse(schema.ValidateJson(new JsonExample(json), out errors, null, null)); Assert.AreEqual(1, errors.Length); Assert.AreEqual(ValidationErrorCode.RequiredPropertiesMissing, errors.First().Code); }
public void SimpleTypeValidationWrongTypeArray() { var schema = SchemaBuilderTests.SimpleSchemaExample(); var newObj = new { stringProp = new string[] { "one", "two", "three" }, urlProp = "http://example.org", numberProp = 1234567901, dateProp = DateTime.UtcNow, floatProp = 123123.1231231231 }; string json = JsonConvert.SerializeObject(newObj, Settings); ValidationError[] errors; Assert.IsFalse(schema.ValidateJson(new JsonExample(json), out errors, null, null)); Assert.AreEqual(1, errors.Length); Assert.AreEqual(ValidationErrorCode.ExpectedNonArrayValue, errors.First().Code); }
public void SimpleTypeValidationWrongPropertyType() { var schema = SchemaBuilderTests.SimpleSchemaExample(); var newObj = new { stringProp = 1231234, urlProp = "http://example.org", numberProp = "1234567901", dateProp = DateTime.UtcNow, floatProp = 123123.1231231231 }; string json = JsonConvert.SerializeObject(newObj, Settings); ValidationError[] errors; Assert.IsFalse(schema.ValidateJson(new JsonExample(json), out errors, null, null)); Assert.IsTrue(errors.All(error => error.Code == ValidationErrorCode.ExpectedTypeDifferent)); Assert.AreEqual(2, errors.Length, "Expected 2 errors in the response"); }
public void SimpleTypeValidationExtraProperty() { var schema = SchemaBuilderTests.SimpleSchemaExample(); var newObj = new { stringProp = "seattle, wa", foobar = "another value", urlProp = "http://example.org", numberProp = 1234567901, dateProp = DateTime.UtcNow, floatProp = 123123.1231231231 }; string json = JsonConvert.SerializeObject(newObj, Settings); ValidationError[] errors; Assert.IsFalse(schema.ValidateJson(new JsonExample(json), out errors, null, null)); Assert.AreEqual(1, errors.Length); Assert.AreEqual(ValidationErrorCode.AdditionalPropertyDetected, errors.First().Code); }