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  ]