blob: 20cb64ff08965b2d9a08854b93fafd1a127fe827 (
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
|
---
name: unique1
desc: unique constraint test with map
#
schema:
type: seq
sequence:
- type: map
mapping:
"name":
unique: true
"age":
type: int
#
data:
- name: foo
age: 10
- name: bar
age: 10
- name: baz
age: 10
---
name: unique2
desc: unique constraint test with seq
#
schema:
type: seq
sequence:
- type: str
unique: true
#
data:
- foo
- ~
- bar
- ~
- baz
---
name: unique3
desc: unique constraint and '<<' (merge)
#
schema:
type: seq
sequence:
- type: map
mapping:
"name":
type: str
required: True
unique: true
"value":
type: any
required: True
#
data:
# no sense
- name: x1
value: 10
- name: x2
value: 20
---
name: unique4
desc: unique constrant and anchor
#
schema:
type: seq
sequence:
- type: map
mapping:
"name":
type: str
"value":
type: any
#
data:
# no sense
- name: x1
value: 10
- name: x2
value: 20
---
name: unique5
desc: unique constring in nested data structures
data:
- name: foo
email: admin@mail.com
groups:
- users
- foo
- admin
- name: bar
email: admin@mail.com
groups:
- users
- admin
- name: baz
email: baz@mail.com
groups:
- users
schema:
type: seq
sequence:
- type: map
required: True
mapping:
name:
type: str
required: True
unique: True
email:
type: str
groups:
type: seq
sequence:
- type: str
unique: True
---
name: unique6
desc: Test that unique do not fail when the key it tries to lookup is missing
data:
- xref: 'GOC:hm'
uri: 'GOC:hm'
- uri: 'http://orcid.org/0000-0002-4862-3181'
schema:
type: seq
sequence:
- type: map
mapping:
"uri":
type: str
required: true
unique: true
pattern: ^((ht|f)tp(s?)\:\/\/\w[\/\.\-\:\w]+)|(GOC\:[\w\_]+)$
"xref":
type: str
required: false
unique: true
pattern: ^\w+:\w+$
|