cuelang.org/go@v0.13.0/encoding/jsonschema/testdata/external/tests/draft6/not.json (about) 1 [ 2 { 3 "description": "not", 4 "schema": { 5 "not": { 6 "type": "integer" 7 } 8 }, 9 "tests": [ 10 { 11 "description": "allowed", 12 "data": "foo", 13 "valid": true 14 }, 15 { 16 "description": "disallowed", 17 "data": 1, 18 "valid": false 19 } 20 ] 21 }, 22 { 23 "description": "not multiple types", 24 "schema": { 25 "not": { 26 "type": [ 27 "integer", 28 "boolean" 29 ] 30 } 31 }, 32 "tests": [ 33 { 34 "description": "valid", 35 "data": "foo", 36 "valid": true 37 }, 38 { 39 "description": "mismatch", 40 "data": 1, 41 "valid": false 42 }, 43 { 44 "description": "other mismatch", 45 "data": true, 46 "valid": false 47 } 48 ] 49 }, 50 { 51 "description": "not more complex schema", 52 "schema": { 53 "not": { 54 "type": "object", 55 "properties": { 56 "foo": { 57 "type": "string" 58 } 59 } 60 } 61 }, 62 "tests": [ 63 { 64 "description": "match", 65 "data": 1, 66 "valid": true 67 }, 68 { 69 "description": "other match", 70 "data": { 71 "foo": 1 72 }, 73 "valid": true 74 }, 75 { 76 "description": "mismatch", 77 "data": { 78 "foo": "bar" 79 }, 80 "valid": false 81 } 82 ] 83 }, 84 { 85 "description": "forbidden property", 86 "schema": { 87 "properties": { 88 "foo": { 89 "not": {} 90 } 91 } 92 }, 93 "tests": [ 94 { 95 "description": "property present", 96 "data": { 97 "foo": 1, 98 "bar": 2 99 }, 100 "valid": false 101 }, 102 { 103 "description": "property absent", 104 "data": { 105 "bar": 1, 106 "baz": 2 107 }, 108 "valid": true 109 } 110 ] 111 }, 112 { 113 "description": "forbid everything with empty schema", 114 "schema": { 115 "not": {} 116 }, 117 "tests": [ 118 { 119 "description": "number is invalid", 120 "data": 1, 121 "valid": false 122 }, 123 { 124 "description": "string is invalid", 125 "data": "foo", 126 "valid": false 127 }, 128 { 129 "description": "boolean true is invalid", 130 "data": true, 131 "valid": false 132 }, 133 { 134 "description": "boolean false is invalid", 135 "data": false, 136 "valid": false 137 }, 138 { 139 "description": "null is invalid", 140 "data": null, 141 "valid": false 142 }, 143 { 144 "description": "object is invalid", 145 "data": { 146 "foo": "bar" 147 }, 148 "valid": false 149 }, 150 { 151 "description": "empty object is invalid", 152 "data": {}, 153 "valid": false 154 }, 155 { 156 "description": "array is invalid", 157 "data": [ 158 "foo" 159 ], 160 "valid": false 161 }, 162 { 163 "description": "empty array is invalid", 164 "data": [], 165 "valid": false 166 } 167 ] 168 }, 169 { 170 "description": "forbid everything with boolean schema true", 171 "schema": { 172 "not": true 173 }, 174 "tests": [ 175 { 176 "description": "number is invalid", 177 "data": 1, 178 "valid": false 179 }, 180 { 181 "description": "string is invalid", 182 "data": "foo", 183 "valid": false 184 }, 185 { 186 "description": "boolean true is invalid", 187 "data": true, 188 "valid": false 189 }, 190 { 191 "description": "boolean false is invalid", 192 "data": false, 193 "valid": false 194 }, 195 { 196 "description": "null is invalid", 197 "data": null, 198 "valid": false 199 }, 200 { 201 "description": "object is invalid", 202 "data": { 203 "foo": "bar" 204 }, 205 "valid": false 206 }, 207 { 208 "description": "empty object is invalid", 209 "data": {}, 210 "valid": false 211 }, 212 { 213 "description": "array is invalid", 214 "data": [ 215 "foo" 216 ], 217 "valid": false 218 }, 219 { 220 "description": "empty array is invalid", 221 "data": [], 222 "valid": false 223 } 224 ] 225 }, 226 { 227 "description": "allow everything with boolean schema false", 228 "schema": { 229 "not": false 230 }, 231 "tests": [ 232 { 233 "description": "number is valid", 234 "data": 1, 235 "valid": true 236 }, 237 { 238 "description": "string is valid", 239 "data": "foo", 240 "valid": true 241 }, 242 { 243 "description": "boolean true is valid", 244 "data": true, 245 "valid": true 246 }, 247 { 248 "description": "boolean false is valid", 249 "data": false, 250 "valid": true 251 }, 252 { 253 "description": "null is valid", 254 "data": null, 255 "valid": true 256 }, 257 { 258 "description": "object is valid", 259 "data": { 260 "foo": "bar" 261 }, 262 "valid": true 263 }, 264 { 265 "description": "empty object is valid", 266 "data": {}, 267 "valid": true 268 }, 269 { 270 "description": "array is valid", 271 "data": [ 272 "foo" 273 ], 274 "valid": true, 275 "skip": { 276 "v2": "invalid value [\"foo\"] (does not satisfy matchN): 0 matched, expected 0:\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\n" 277 } 278 }, 279 { 280 "description": "empty array is valid", 281 "data": [], 282 "valid": true, 283 "skip": { 284 "v2": "invalid value [] (does not satisfy matchN): 0 matched, expected 0:\n generated.cue:2:1\n generated.cue:2:8\n instance.json:1:1\n" 285 } 286 } 287 ] 288 }, 289 { 290 "description": "double negation", 291 "schema": { 292 "not": { 293 "not": {} 294 } 295 }, 296 "tests": [ 297 { 298 "description": "any value is valid", 299 "data": "foo", 300 "valid": true 301 } 302 ] 303 } 304 ]