| exports.valid = { |
| fullName : "John Doe", |
| age : 47, |
| state : "Massachusetts", |
| city : "Boston", |
| zip : 16417, |
| married : false, |
| dozen : 12, |
| dozenOrBakersDozen : 13, |
| favoriteEvenNumber : 14, |
| topThreeFavoriteColors : [ "red", "blue", "green" ], |
| favoriteSingleDigitWholeNumbers : [ 7 ], |
| favoriteFiveLetterWord : "coder", |
| emailAddresses : |
| [ |
| "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@letters-in-local.org", |
| "01234567890@numbers-in-local.net", |
| "&'*+-./=?^_{}~@other-valid-characters-in-local.net", |
| "mixed-1234-in-{+^}-local@sld.net", |
| "a@single-character-in-local.org", |
| "\"quoted\"@sld.com", |
| "\"\\e\\s\\c\\a\\p\\e\\d\"@sld.com", |
| "\"quoted-at-sign@sld.org\"@sld.com", |
| "\"escaped\\\"quote\"@sld.com", |
| "\"back\\slash\"@sld.com", |
| "one-character-third-level@a.example.com", |
| "single-character-in-sld@x.org", |
| "local@dash-in-sld.com", |
| "letters-in-sld@123.com", |
| "one-letter-sld@x.org", |
| "uncommon-tld@sld.museum", |
| "uncommon-tld@sld.travel", |
| "uncommon-tld@sld.mobi", |
| "country-code-tld@sld.uk", |
| "country-code-tld@sld.rw", |
| "local@sld.newTLD", |
| "the-total-length@of-an-entire-address.cannot-be-longer-than-two-hundred-and-fifty-four-characters.and-this-address-is-254-characters-exactly.so-it-should-be-valid.and-im-going-to-add-some-more-words-here.to-increase-the-lenght-blah-blah-blah-blah-bla.org", |
| "the-character-limit@for-each-part.of-the-domain.is-sixty-three-characters.this-is-exactly-sixty-three-characters-so-it-is-valid-blah-blah.com", |
| "local@sub.domains.com" |
| ], |
| ipAddresses : [ "127.0.0.1", "24.48.64.2", "192.168.1.1", "209.68.44.3", "2.2.2.2" ] |
| } |
| |
| exports.invalid = { |
| fullName : null, |
| age : -1, |
| state : 47, |
| city : false, |
| zip : [null], |
| married : "yes", |
| dozen : 50, |
| dozenOrBakersDozen : "over 9000", |
| favoriteEvenNumber : 15, |
| topThreeFavoriteColors : [ "red", 5 ], |
| favoriteSingleDigitWholeNumbers : [ 78, 2, 999 ], |
| favoriteFiveLetterWord : "codernaut", |
| emailAddresses : [], |
| ipAddresses : [ "999.0.099.1", "294.48.64.2346", false, "2221409.64214128.42414.235233", "124124.12412412" ] |
| } |
| |
| exports.schema = { // from cosmic thingy |
| name : "test", |
| type : "object", |
| additionalProperties : false, |
| required : ["fullName", "age", "zip", "married", "dozen", "dozenOrBakersDozen", "favoriteEvenNumber", "topThreeFavoriteColors", "favoriteSingleDigitWholeNumbers", "favoriteFiveLetterWord", "emailAddresses", "ipAddresses"], |
| properties : |
| { |
| fullName : { type : "string" }, |
| age : { type : "integer", minimum : 0 }, |
| optionalItem : { type : "string" }, |
| state : { type : "string" }, |
| city : { type : "string" }, |
| zip : { type : "integer", minimum : 0, maximum : 99999 }, |
| married : { type : "boolean" }, |
| dozen : { type : "integer", minimum : 12, maximum : 12 }, |
| dozenOrBakersDozen : { type : "integer", minimum : 12, maximum : 13 }, |
| favoriteEvenNumber : { type : "integer", multipleOf : 2 }, |
| topThreeFavoriteColors : { type : "array", minItems : 3, maxItems : 3, uniqueItems : true, items : { type : "string" }}, |
| favoriteSingleDigitWholeNumbers : { type : "array", minItems : 1, maxItems : 10, uniqueItems : true, items : { type : "integer", minimum : 0, maximum : 9 }}, |
| favoriteFiveLetterWord : { type : "string", minLength : 5, maxLength : 5 }, |
| emailAddresses : { type : "array", minItems : 1, uniqueItems : true, items : { type : "string", format : "email" }}, |
| ipAddresses : { type : "array", uniqueItems : true, items : { type : "string", format : "ipv4" }}, |
| } |
| } |