summaryrefslogtreecommitdiff
path: root/tests/files/fail/test_anchor.yaml
blob: dca97f5467b2c06129dfad76b845072a69e3697e (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
91
92
93
94
95
---
name: fail-anchor-1
desc: schema with anchor
schema:
  type: seq
  required: true
  sequence:
    - type: map
      required: true
      mapping:
        first-name: &name
          type: str
          required: true
        family-name: *name
data:
  - first-name:  foo
    last-name:   Foo
  - first-name:  bar
    family-name: 100
errors:
  - "Cannot find required key 'family-name'. Path: '/0'"
  - "Key 'last-name' was not defined. Path: '/0'"
  - "Value '100' is not of type 'str'. Path: '/1/family-name'"
  ## Kwalify errors
  # :required_nokey     : 1:3:[/0] key 'family-name:' is required.
  # :key_undefined      : 2:3:[/0/last-name] key 'last-name:' is undefined.
  # :type_unmatch       : 4:3:[/1/family-name] '100': not a string.
---
name: fail-anchor-2
desc: schema with anchor 2
schema:
  type: map
  required: true
  mapping:
    title: &name
      type: str
      required: true
    address-book:
      type: seq
      required: true
      sequence:
        - type: map
          mapping:
            name: *name
            email:
              type: str
              required: true
data:
  title:   my friends
  address-book:
    - name:  100
      email: foo@mail.com
    - first-name:  bar
      email: bar@mail.com
errors:
  - "Cannot find required key 'name'. Path: '/address-book/1'"
  - "Key 'first-name' was not defined. Path: '/address-book/1'"
  - "Value '100' is not of type 'str'. Path: '/address-book/0/name'"
  ## Kwalify errors
  # :type_unmatch       : 3:5:[/address-book/0/name] '100': not a string.
  # :required_nokey     : 5:5:[/address-book/1] key 'name:' is required.
  # :key_undefined      : 5:5:[/address-book/1/first-name] key 'first-name:' is undefined.
# TODO: THIS TEST IS BROKEN BECUASE IT CAUSE INFINITE RECURSION IN PYTHON
# ---
# name: fail-anchor-3
# desc: document with anchor
# schema:
#   type: seq
#   sequence:
#     - &employee
#       type: map
#       mapping:
#         name:
#           type: str
#         post:
#           type: str
#           enum:
#             - exective
#             - manager
#             - clerk
#         supervisor: *employee
# data:
#   - &foo
#     name: 100
#     post: exective
#     supervisor: *foo
#   - &bar
#     name: foo
#     post: worker
#     supervisor: *foo
# errors:
#   - ''
#   ## Kwalify errors
#   # :type_unmatch  : 2:3:[/0/name] '100': not a string.
#   # :enum_notexist : 7:3:[/1/post] 'worker': invalid post value.