summaryrefslogtreecommitdiff
path: root/src/test/resources/draft7/issue653.json
blob: 4ee9e29d5da03e723433b85899f94341ab59d63c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
[
  {
    "description": "issue653",
    "schema": {
      "title": "PetArray",
      "type": "object",
      "properties": {
        "pets": {
          "type": "array",
          "items": {
            "oneOf": [
              {
                "if": {
                  "properties": {
                    "pet_type": {
                      "const": "Cat"
                    }
                  }
                },
                "then": {
                  "type": "object",
                  "properties": {
                    "hunts": {
                      "type": "boolean"
                    },
                    "age": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "age"
                  ]
                },
                "else": false
              },
              {
                "if": {
                  "properties": {
                    "pet_type": {
                      "const": "Dog"
                    }
                  }
                },
                "then": {
                  "type": "object",
                  "properties": {
                    "bark": {
                      "type": "boolean"
                    },
                    "breed": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "bark"
                  ]
                },
                "else": false
              }
            ]
          }
        }
      },
      "additionalProperties": false,
      "required": [
        "pets"
      ]
    },
    "tests": [
      {
        "description": "OneOf Validation removes validations, making invalid data appear valid",
        "data": {
          "pets": [
            {
              "pet_type": "Cat",
              "hunts": "asdf",
              "additionaValue": "asdf"
            }
          ]
        },
        "valid": false,
        "validationMessages": [
          "$.pets[0]: must be valid to one and only one schema, but 0 are valid",
          "$.pets[0]: required property 'age' not found",
          "$.pets[0]: schema for 'else' is false"
        ]
      }
    ]
  }
]