1--- 2name: fail-unique-1 3desc: "NOTE: The reverse unique do not currently work proper # This will test the unique constraint but should fail" 4data: 5 - name: foo 6 email: admin@mail.com 7 groups: 8 - foo 9 - users 10 - admin 11 - foo 12 - name: bar 13 email: admin@mail.com 14 groups: 15 - admin 16 - users 17 - name: bar 18 email: baz@mail.com 19 groups: 20 - users 21schema: 22 type: seq 23 sequence: 24 - type: map 25 required: True 26 mapping: 27 name: 28 type: str 29 required: True 30 unique: True 31 email: 32 type: str 33 groups: 34 type: seq 35 sequence: 36 - type: str 37 unique: True 38errors: 39 - "Value 'bar' is not unique. Previous path: '/1/name'. Path: '/2/name'" 40 - "Value 'foo' is not unique. Previous path: '/0/groups/0'. Path: '/0/groups/3'" 41--- 42name: fail-unique-2 43desc: unique constraint test with map 44schema: 45 type: seq 46 sequence: 47 - type: map 48 mapping: 49 "name": 50 unique: true 51 "age": 52 type: int 53data: 54 - name: foo 55 age: 10 56 - name: bar 57 age: 10 58 - age: 10 59 name: bar 60errors: 61 - "Value 'bar' is not unique. Previous path: '/1/name'. Path: '/2/name'" 62 ## Kwalify errors 63 # :value_notunique : 6:3:[/2/name] 'bar': is already used at '/1/name'. 64--- 65name: fail-unique-3 66desc: unique constraint test with seq 67schema: 68 type: seq 69 sequence: 70 - type: str 71 unique: true 72data: 73 - foo 74 - ~ 75 - bar 76 - ~ 77 - bar 78errors: 79 - "Value 'bar' is not unique. Previous path: '/2'. Path: '/4'" 80 ## Kwalify errors 81 # :value_notunique : 5:1:[/4] 'bar': is already used at '/2'. 82--- 83name: fail-unique-4 84desc: unique constraint and '<<' (merge) 85schema: 86 type: seq 87 sequence: 88 - type: map 89 mapping: 90 "name": 91 type: str 92 required: true 93 unique: true 94 "value": 95 type: any 96 required: true 97data: 98 - &a1 99 name: x1 100 value: 10 101 - <<: *a1 102 - <<: *a1 # wrong validation error 103 name: x3 104errors: 105 - "Value 'x1' is not unique. Previous path: '/0/name'. Path: '/1/name'" 106 # TODO: Possibly missing one error here... 107 ## Kwalify errors 108 # :value_notunique : 4:3:[/1/name] 'x1': is already used at '/0/name'. 109 # :value_notunique : 5:3:[/2/name] 'x1': is already used at '/0/name'. 110