allOf.json revision 285830
1132718Skan[ 2169689Skan { 3132718Skan "description": "allOf", 4132718Skan "schema": { 5132718Skan "allOf": [ 6132718Skan { 7132718Skan "properties": { 8132718Skan "bar": {"type": "integer"} 9132718Skan }, 10132718Skan "required": ["bar"] 11132718Skan }, 12132718Skan { 13132718Skan "properties": { 14132718Skan "foo": {"type": "string"} 15132718Skan }, 16132718Skan "required": ["foo"] 17132718Skan } 18132718Skan ] 19169689Skan }, 20169689Skan "tests": [ 21132718Skan { 22132718Skan "description": "allOf", 23132718Skan "data": {"foo": "baz", "bar": 2}, 24132718Skan "valid": true 25132718Skan }, 26132718Skan { 27132718Skan "description": "mismatch second", 28132718Skan "data": {"foo": "baz"}, 29132718Skan "valid": false 30132718Skan }, 31132718Skan { 32132718Skan "description": "mismatch first", 33132718Skan "data": {"bar": 2}, 34132718Skan "valid": false 35132718Skan }, 36132718Skan { 37132718Skan "description": "wrong type", 38132718Skan "data": {"foo": "baz", "bar": "quux"}, 39132718Skan "valid": false 40132718Skan } 41132718Skan ] 42132718Skan }, 43132718Skan { 44132718Skan "description": "allOf with base schema", 45132718Skan "schema": { 46132718Skan "properties": {"bar": {"type": "integer"}}, 47132718Skan "required": ["bar"], 48132718Skan "allOf" : [ 49132718Skan { 50132718Skan "properties": { 51132718Skan "foo": {"type": "string"} 52132718Skan }, 53132718Skan "required": ["foo"] 54132718Skan }, 55132718Skan { 56132718Skan "properties": { 57132718Skan "baz": {"type": "null"} 58132718Skan }, 59132718Skan "required": ["baz"] 60132718Skan } 61132718Skan ] 62132718Skan }, 63132718Skan "tests": [ 64132718Skan { 65132718Skan "description": "valid", 66132718Skan "data": {"foo": "quux", "bar": 2, "baz": null}, 67169689Skan "valid": true 68169689Skan }, 69169689Skan { 70169689Skan "description": "mismatch base schema", 71169689Skan "data": {"foo": "quux", "baz": null}, 72132718Skan "valid": false 73132718Skan }, 74132718Skan { 75132718Skan "description": "mismatch first allOf", 76132718Skan "data": {"bar": 2, "baz": null}, 77132718Skan "valid": false 78169689Skan }, 79169689Skan { 80132718Skan "description": "mismatch second allOf", 81132718Skan "data": {"foo": "quux", "bar": 2}, 82132718Skan "valid": false 83132718Skan }, 84132718Skan { 85132718Skan "description": "mismatch both", 86132718Skan "data": {"bar": 2}, 87132718Skan "valid": false 88132718Skan } 89132718Skan ] 90132718Skan }, 91132718Skan { 92132718Skan "description": "allOf simple types", 93169689Skan "schema": { 94132718Skan "allOf": [ 95132718Skan {"maximum": 30}, 96132718Skan {"minimum": 20} 97132718Skan ] 98132718Skan }, 99169689Skan "tests": [ 100169689Skan { 101132718Skan "description": "valid", 102132718Skan "data": 25, 103132718Skan "valid": true 104132718Skan }, 105132718Skan { 106132718Skan "description": "mismatch one", 107132718Skan "data": 35, 108132718Skan "valid": false 109132718Skan } 110132718Skan ] 111132718Skan } 112132718Skan] 113132718Skan