1*97bd480fSBaptiste Daroussin[ 2*97bd480fSBaptiste Daroussin { 3*97bd480fSBaptiste Daroussin "description": "allOf", 4*97bd480fSBaptiste Daroussin "schema": { 5*97bd480fSBaptiste Daroussin "allOf": [ 6*97bd480fSBaptiste Daroussin { 7*97bd480fSBaptiste Daroussin "properties": { 8*97bd480fSBaptiste Daroussin "bar": {"type": "integer"} 9*97bd480fSBaptiste Daroussin }, 10*97bd480fSBaptiste Daroussin "required": ["bar"] 11*97bd480fSBaptiste Daroussin }, 12*97bd480fSBaptiste Daroussin { 13*97bd480fSBaptiste Daroussin "properties": { 14*97bd480fSBaptiste Daroussin "foo": {"type": "string"} 15*97bd480fSBaptiste Daroussin }, 16*97bd480fSBaptiste Daroussin "required": ["foo"] 17*97bd480fSBaptiste Daroussin } 18*97bd480fSBaptiste Daroussin ] 19*97bd480fSBaptiste Daroussin }, 20*97bd480fSBaptiste Daroussin "tests": [ 21*97bd480fSBaptiste Daroussin { 22*97bd480fSBaptiste Daroussin "description": "allOf", 23*97bd480fSBaptiste Daroussin "data": {"foo": "baz", "bar": 2}, 24*97bd480fSBaptiste Daroussin "valid": true 25*97bd480fSBaptiste Daroussin }, 26*97bd480fSBaptiste Daroussin { 27*97bd480fSBaptiste Daroussin "description": "mismatch second", 28*97bd480fSBaptiste Daroussin "data": {"foo": "baz"}, 29*97bd480fSBaptiste Daroussin "valid": false 30*97bd480fSBaptiste Daroussin }, 31*97bd480fSBaptiste Daroussin { 32*97bd480fSBaptiste Daroussin "description": "mismatch first", 33*97bd480fSBaptiste Daroussin "data": {"bar": 2}, 34*97bd480fSBaptiste Daroussin "valid": false 35*97bd480fSBaptiste Daroussin }, 36*97bd480fSBaptiste Daroussin { 37*97bd480fSBaptiste Daroussin "description": "wrong type", 38*97bd480fSBaptiste Daroussin "data": {"foo": "baz", "bar": "quux"}, 39*97bd480fSBaptiste Daroussin "valid": false 40*97bd480fSBaptiste Daroussin } 41*97bd480fSBaptiste Daroussin ] 42*97bd480fSBaptiste Daroussin }, 43*97bd480fSBaptiste Daroussin { 44*97bd480fSBaptiste Daroussin "description": "allOf with base schema", 45*97bd480fSBaptiste Daroussin "schema": { 46*97bd480fSBaptiste Daroussin "properties": {"bar": {"type": "integer"}}, 47*97bd480fSBaptiste Daroussin "required": ["bar"], 48*97bd480fSBaptiste Daroussin "allOf" : [ 49*97bd480fSBaptiste Daroussin { 50*97bd480fSBaptiste Daroussin "properties": { 51*97bd480fSBaptiste Daroussin "foo": {"type": "string"} 52*97bd480fSBaptiste Daroussin }, 53*97bd480fSBaptiste Daroussin "required": ["foo"] 54*97bd480fSBaptiste Daroussin }, 55*97bd480fSBaptiste Daroussin { 56*97bd480fSBaptiste Daroussin "properties": { 57*97bd480fSBaptiste Daroussin "baz": {"type": "null"} 58*97bd480fSBaptiste Daroussin }, 59*97bd480fSBaptiste Daroussin "required": ["baz"] 60*97bd480fSBaptiste Daroussin } 61*97bd480fSBaptiste Daroussin ] 62*97bd480fSBaptiste Daroussin }, 63*97bd480fSBaptiste Daroussin "tests": [ 64*97bd480fSBaptiste Daroussin { 65*97bd480fSBaptiste Daroussin "description": "valid", 66*97bd480fSBaptiste Daroussin "data": {"foo": "quux", "bar": 2, "baz": null}, 67*97bd480fSBaptiste Daroussin "valid": true 68*97bd480fSBaptiste Daroussin }, 69*97bd480fSBaptiste Daroussin { 70*97bd480fSBaptiste Daroussin "description": "mismatch base schema", 71*97bd480fSBaptiste Daroussin "data": {"foo": "quux", "baz": null}, 72*97bd480fSBaptiste Daroussin "valid": false 73*97bd480fSBaptiste Daroussin }, 74*97bd480fSBaptiste Daroussin { 75*97bd480fSBaptiste Daroussin "description": "mismatch first allOf", 76*97bd480fSBaptiste Daroussin "data": {"bar": 2, "baz": null}, 77*97bd480fSBaptiste Daroussin "valid": false 78*97bd480fSBaptiste Daroussin }, 79*97bd480fSBaptiste Daroussin { 80*97bd480fSBaptiste Daroussin "description": "mismatch second allOf", 81*97bd480fSBaptiste Daroussin "data": {"foo": "quux", "bar": 2}, 82*97bd480fSBaptiste Daroussin "valid": false 83*97bd480fSBaptiste Daroussin }, 84*97bd480fSBaptiste Daroussin { 85*97bd480fSBaptiste Daroussin "description": "mismatch both", 86*97bd480fSBaptiste Daroussin "data": {"bar": 2}, 87*97bd480fSBaptiste Daroussin "valid": false 88*97bd480fSBaptiste Daroussin } 89*97bd480fSBaptiste Daroussin ] 90*97bd480fSBaptiste Daroussin }, 91*97bd480fSBaptiste Daroussin { 92*97bd480fSBaptiste Daroussin "description": "allOf simple types", 93*97bd480fSBaptiste Daroussin "schema": { 94*97bd480fSBaptiste Daroussin "allOf": [ 95*97bd480fSBaptiste Daroussin {"maximum": 30}, 96*97bd480fSBaptiste Daroussin {"minimum": 20} 97*97bd480fSBaptiste Daroussin ] 98*97bd480fSBaptiste Daroussin }, 99*97bd480fSBaptiste Daroussin "tests": [ 100*97bd480fSBaptiste Daroussin { 101*97bd480fSBaptiste Daroussin "description": "valid", 102*97bd480fSBaptiste Daroussin "data": 25, 103*97bd480fSBaptiste Daroussin "valid": true 104*97bd480fSBaptiste Daroussin }, 105*97bd480fSBaptiste Daroussin { 106*97bd480fSBaptiste Daroussin "description": "mismatch one", 107*97bd480fSBaptiste Daroussin "data": 35, 108*97bd480fSBaptiste Daroussin "valid": false 109*97bd480fSBaptiste Daroussin } 110*97bd480fSBaptiste Daroussin ] 111*97bd480fSBaptiste Daroussin } 112*97bd480fSBaptiste Daroussin] 113