k8s.io/kube-openapi@v0.0.0-20240228011516-70dd3763d340/pkg/validation/validate/fixtures/jsonschema_suite/additionalProperties.json (about)

     1  [
     2      {
     3          "description":
     4              "additionalProperties being false does not allow other properties",
     5          "schema": {
     6              "properties": {"foo": {}, "bar": {}},
     7              "patternProperties": { "^v": {} },
     8              "additionalProperties": false
     9          },
    10          "tests": [
    11              {
    12                  "description": "no additional properties is valid",
    13                  "data": {"foo": 1},
    14                  "valid": true
    15              },
    16              {
    17                  "description": "an additional property is invalid",
    18                  "data": {"foo" : 1, "bar" : 2, "quux" : "boom"},
    19                  "valid": false
    20              },
    21              {
    22                  "description": "ignores arrays",
    23                  "data": [1, 2, 3],
    24                  "valid": true
    25              },
    26              {
    27                  "description": "ignores strings",
    28                  "data": "foobarbaz",
    29                  "valid": true
    30              },
    31              {
    32                  "description": "ignores other non-objects",
    33                  "data": 12,
    34                  "valid": true
    35              },
    36              {
    37                  "description": "patternProperties are not additional properties",
    38                  "data": {"foo":1, "vroom": 2},
    39                  "valid": true
    40              }
    41          ]
    42      },
    43      {
    44          "description":
    45              "additionalProperties allows a schema which should validate",
    46          "schema": {
    47              "properties": {"foo": {}, "bar": {}},
    48              "additionalProperties": {"type": "boolean"}
    49          },
    50          "tests": [
    51              {
    52                  "description": "no additional properties is valid",
    53                  "data": {"foo": 1},
    54                  "valid": true
    55              },
    56              {
    57                  "description": "an additional valid property is valid",
    58                  "data": {"foo" : 1, "bar" : 2, "quux" : true},
    59                  "valid": true
    60              },
    61              {
    62                  "description": "an additional invalid property is invalid",
    63                  "data": {"foo" : 1, "bar" : 2, "quux" : 12},
    64                  "valid": false
    65              }
    66          ]
    67      },
    68      {
    69          "description":
    70              "additionalProperties can exist by itself",
    71          "schema": {
    72              "additionalProperties": {"type": "boolean"}
    73          },
    74          "tests": [
    75              {
    76                  "description": "an additional valid property is valid",
    77                  "data": {"foo" : true},
    78                  "valid": true
    79              },
    80              {
    81                  "description": "an additional invalid property is invalid",
    82                  "data": {"foo" : 1},
    83                  "valid": false
    84              }
    85          ]
    86      },
    87      {
    88          "description": "additionalProperties are allowed by default",
    89          "schema": {"properties": {"foo": {}, "bar": {}}},
    90          "tests": [
    91              {
    92                  "description": "additional properties are allowed",
    93                  "data": {"foo": 1, "bar": 2, "quux": true},
    94                  "valid": true
    95              }
    96          ]
    97      }
    98  ]