Skip to content

Commit 64b4a1c

Browse files
authored
TERCC: Add UUID validation pattern to links.target (#275)
The TERCC event's validation pattern for links.target disappeared in 2.0.0 of the event which no doubt must've been a mistake. Introduce 4.1.1 to fix this bug and align TERCC with all other event types.
1 parent f5f82c7 commit 64b4a1c

File tree

2 files changed

+282
-0
lines changed

2 files changed

+282
-0
lines changed

eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ __Description:__ The number of the event within the named sequence.
276276
## Version History
277277
| Version | Introduced in | Changes |
278278
| --------- | ------------------------------------------------------ | --------------------------------------- |
279+
| 4.1.1 | Current version | Add missing validation pattern to links.target member (see [Issue 271](https://github.com/eiffel-community/eiffel/issues/271)). |
279280
| 4.1.0 | Current version | Add links.domainId member (see [Issue 233](https://github.com/eiffel-community/eiffel/issues/233)). |
280281
| 4.0.0 | [edition-agen](../../../tree/edition-agen) | Improved information integrity protection | (see [Issue 185](https://github.com/eiffel-community/eiffel/issues/185)) |
281282
| 3.0.0 | [dc5ec6f](../../../blob/dc5ec6fb87e293eeffe88fdafe698eec0f5a2c89/eiffel-vocabulary/EiffelTestExecutionRecipeCollectionCreatedEvent.md) | Introduced purl identifiers instead of GAVs (see [Issue 182](https://github.com/eiffel-community/eiffel/issues/182)) |
Lines changed: 281 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,281 @@
1+
{
2+
"$schema": "http://json-schema.org/draft-04/schema#",
3+
"type": "object",
4+
"properties": {
5+
"meta": {
6+
"type": "object",
7+
"properties": {
8+
"id": {
9+
"type": "string",
10+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
11+
},
12+
"type": {
13+
"type": "string",
14+
"enum": [ "EiffelTestExecutionRecipeCollectionCreatedEvent" ]
15+
},
16+
"version": {
17+
"type": "string",
18+
"enum": [ "4.1.1" ],
19+
"default": "4.1.1"
20+
},
21+
"time": {
22+
"type": "integer"
23+
},
24+
"tags": {
25+
"type": "array",
26+
"items": {
27+
"type": "string"
28+
}
29+
},
30+
"source": {
31+
"type": "object",
32+
"properties": {
33+
"domainId": {
34+
"type": "string"
35+
},
36+
"host": {
37+
"type": "string"
38+
},
39+
"name": {
40+
"type": "string"
41+
},
42+
"serializer": {
43+
"type": "string",
44+
"pattern": "^pkg:"
45+
},
46+
"uri": {
47+
"type": "string"
48+
}
49+
},
50+
"additionalProperties": false
51+
},
52+
"security": {
53+
"type": "object",
54+
"properties": {
55+
"authorIdentity": {
56+
"type": "string"
57+
},
58+
"integrityProtection": {
59+
"type": "object",
60+
"properties": {
61+
"signature": {
62+
"type": "string"
63+
},
64+
"alg": {
65+
"type": "string",
66+
"enum": ["HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "PS256", "PS384", "PS512"]
67+
},
68+
"publicKey": {
69+
"type": "string"
70+
}
71+
},
72+
"required": [
73+
"signature",
74+
"alg"
75+
],
76+
"additionalProperties": false
77+
},
78+
"sequenceProtection": {
79+
"type": "array",
80+
"items": {
81+
"type": "object",
82+
"properties": {
83+
"sequenceName": {
84+
"type": "string"
85+
},
86+
"position": {
87+
"type": "integer"
88+
}
89+
},
90+
"additionalProperties": false,
91+
"required": [
92+
"sequenceName",
93+
"position"
94+
]
95+
}
96+
}
97+
},
98+
"additionalProperties": false,
99+
"required": [
100+
"authorIdentity"
101+
]
102+
}
103+
},
104+
"required": [
105+
"id",
106+
"type",
107+
"version",
108+
"time"
109+
],
110+
"additionalProperties": false
111+
},
112+
"data": {
113+
"type": "object",
114+
"properties": {
115+
"selectionStrategy": {
116+
"type": "object",
117+
"properties": {
118+
"tracker": {
119+
"type": "string"
120+
},
121+
"id": {
122+
"type": "string"
123+
},
124+
"uri": {
125+
"type": "string"
126+
}
127+
},
128+
"required": [
129+
"id"
130+
],
131+
"additionalProperties": false
132+
},
133+
"batchesUri": {
134+
"type": "string"
135+
},
136+
"batches": {
137+
"type": "array",
138+
"items": {
139+
"type": "object",
140+
"properties": {
141+
"name": {
142+
"type": "string"
143+
},
144+
"priority": {
145+
"type": "integer"
146+
},
147+
"recipes": {
148+
"type": "array",
149+
"items": {
150+
"type": "object",
151+
"properties": {
152+
"id": {
153+
"type": "string",
154+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
155+
},
156+
"testCase": {
157+
"type": "object",
158+
"properties": {
159+
"tracker": {
160+
"type": "string"
161+
},
162+
"id": {
163+
"type": "string"
164+
},
165+
"uri": {
166+
"type": "string"
167+
}
168+
},
169+
"required": [
170+
"id"
171+
],
172+
"additionalProperties": false
173+
},
174+
"constraints": {
175+
"type": "array",
176+
"items": {
177+
"type": "object",
178+
"properties": {
179+
"key": {
180+
"type": "string"
181+
},
182+
"value": {
183+
}
184+
},
185+
"required": [
186+
"key",
187+
"value"
188+
],
189+
"additionalProperties": false
190+
}
191+
}
192+
},
193+
"required": [
194+
"id",
195+
"testCase"
196+
],
197+
"additionalProperties": false
198+
}
199+
},
200+
"dependencies": {
201+
"type": "array",
202+
"items": {
203+
"type": "object",
204+
"properties": {
205+
"dependent": {
206+
"type": "string"
207+
},
208+
"dependency": {
209+
"type": "string"
210+
}
211+
},
212+
"required": [
213+
"dependent",
214+
"dependency"
215+
],
216+
"additionalProperties": false
217+
}
218+
}
219+
},
220+
"required": [
221+
"priority",
222+
"recipes"
223+
],
224+
"additionalProperties": false
225+
}
226+
},
227+
"customData": {
228+
"type": "array",
229+
"items": {
230+
"type": "object",
231+
"properties": {
232+
"key": {
233+
"type": "string"
234+
},
235+
"value": {
236+
}
237+
},
238+
"required": [
239+
"key",
240+
"value"
241+
],
242+
"additionalProperties": false
243+
}
244+
}
245+
},
246+
"required": [
247+
"selectionStrategy"
248+
],
249+
"additionalProperties": false
250+
},
251+
"links": {
252+
"type": "array",
253+
"items": {
254+
"type": "object",
255+
"properties": {
256+
"type": {
257+
"type": "string"
258+
},
259+
"target": {
260+
"type": "string",
261+
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
262+
},
263+
"domainId": {
264+
"type": "string"
265+
}
266+
},
267+
"required": [
268+
"type",
269+
"target"
270+
],
271+
"additionalProperties": false
272+
}
273+
}
274+
},
275+
"required": [
276+
"meta",
277+
"data",
278+
"links"
279+
],
280+
"additionalProperties": false
281+
}

0 commit comments

Comments
 (0)