...
1---
2swagger: '2.0'
3info:
4 title: 'fixture to tests formats in parameters, schema objects'
5 version: '1.0'
6 description: |
7 This exercises the type and format validation based on complete spec
8produces:
9 - application/json
10paths:
11 /fixture/formats-good:
12 get:
13 operationId: op1
14 parameters:
15 - name: p01
16 in: query
17 type: string
18 format: byte
19 default: 'ZWxpemFiZXRocG9zZXk='
20 - name: p02
21 in: query
22 type: string
23 format: creditcard
24 default: '4111-1111-1111-1111'
25 - name: p03
26 in: query
27 type: string
28 format: date
29 default: 1970-01-01
30 - name: p04
31 in: query
32 type: string
33 format: date-time
34 default: '1963-06-19T08:30:06.283185Z'
35 - name: p05
36 in: query
37 type: string
38 format: duration
39 default: '3 weeks'
40 - name: p06
41 in: query
42 type: string
43 format: email
44 default: 'joe.bloggs@example.com'
45 - name: p07
46 in: query
47 type: string
48 format: hexcolor
49 default: '#FFFFFF'
50 - name: p08
51 in: query
52 type: string
53 format: hostname
54 default: 'www.example.com'
55 - name: p09
56 in: query
57 type: string
58 format: ipv4
59 default: '192.168.0.1'
60 - name: p10
61 in: query
62 type: string
63 format: ipv6
64 default: '::1'
65 - name: p11
66 in: query
67 type: string
68 format: isbn
69 default: '0321751043'
70 - name: p12
71 in: query
72 type: string
73 format: isbn10
74 default: '0321751043'
75 - name: p13
76 in: query
77 type: string
78 format: isbn13
79 default: '978 3401013190'
80 - name: p14
81 in: query
82 type: string
83 format: mac
84 default: '01:02:03:04:05:06'
85 - name: p15
86 in: query
87 type: string
88 format: bsonobjectid
89 default: '507f1f77bcf86cd799439011'
90 - name: p16
91 in: query
92 type: string
93 format: password
94 default: 'secret'
95 - name: p17
96 in: query
97 type: string
98 format: rgbcolor
99 default: 'rgb(100,100,100)'
100 - name: p18
101 in: query
102 type: string
103 format: ssn
104 default: '111-11-1111'
105 - name: p19
106 in: query
107 type: string
108 format: uri
109 default: 'http://foo.bar/?baz=qux#quux'
110 - name: p20
111 in: query
112 type: string
113 format: uuid
114 default: 'a8098c1a-f86e-11da-bd1a-00112444be1e'
115 - name: p21
116 in: query
117 type: string
118 format: uuid3
119 default: 'bcd02e22-68f0-3046-a512-327cca9def8f'
120 - name: p22
121 in: query
122 type: string
123 format: uuid4
124 default: '025b0d74-00a2-4048-bf57-227c5111bb34'
125 - name: p23
126 in: query
127 type: string
128 format: uuid5
129 default: '886313e1-3b8a-5372-9b90-0c9aee199e5d'
130 - name: n01
131 in: query
132 type: number
133 format: float
134 default: 10.01
135 - name: n02
136 in: query
137 type: number
138 format: double
139 default: 100.99
140 - name: n03
141 in: query
142 type: integer
143 format: int32
144 default: -12
145 - name: n04
146 in: query
147 type: integer
148 format: int64
149 default: 20
150 - name: n05
151 in: query
152 type: integer
153 format: uint32
154 default: 20
155 - name: n06
156 in: query
157 type: integer
158 format: uint64
159 default: 30
160 # TODO: check format aliases
161 responses:
162 200:
163 description: 'response exercising formats'
164 # TODO: check format in headers
165 schema:
166 $ref: '#/definitions/allformats'
167
168 /fixture/formats-bad:
169 get:
170 operationId: op2
171 parameters:
172 - name: p01
173 in: query
174 type: string
175 format: byte
176 default: 'ZWxpemFiZXRocG9zZXk'
177 - name: p02
178 in: query
179 type: string
180 format: creditcard
181 default: '4111-1X11-1111-1111'
182 - name: p03
183 in: query
184 type: string
185 format: date
186 default: 1970-13-01
187 - name: p04
188 in: query
189 type: string
190 format: date-time
191 default: '1963-13-19T08:30:06.283185Z'
192 - name: p05
193 in: query
194 type: string
195 format: duration
196 default: 'three weeks'
197 - name: p06
198 in: query
199 type: string
200 format: email
201 default: 'joe.bloggs-example.com'
202 - name: p07
203 in: query
204 type: string
205 format: hexcolor
206 default: 'xFFFFFF'
207 - name: p08
208 in: query
209 type: string
210 format: hostname
211 default: 'not_a_valid_hostname'
212 - name: p09
213 in: query
214 type: string
215 format: ipv4
216 default: '192.168.0.256'
217 - name: p10
218 in: query
219 type: string
220 format: ipv6
221 default: 'o::1'
222 - name: p11
223 in: query
224 type: string
225 format: isbn
226 default: 'abc-0321751043'
227 - name: p12
228 in: query
229 type: string
230 format: isbn10
231 default: 'abc-0321751043'
232 - name: p13
233 in: query
234 type: string
235 format: isbn13
236 default: '978|3401013190'
237 - name: p14
238 in: query
239 type: string
240 format: mac
241 default: '01:02:03:04:05:06:07'
242 - name: p15
243 in: query
244 type: string
245 format: bsonobjectid
246 default: 'x07f1f77bcf86cd799439011'
247 - name: p16
248 in: query
249 type: string
250 format: password
251 default: 0
252 - name: p17
253 in: query
254 type: string
255 format: rgbcolor
256 default: 'rgb(100,100)'
257 - name: p18
258 in: query
259 type: string
260 format: ssn
261 default: '111-11111'
262 - name: p19
263 in: query
264 type: string
265 format: uri
266 default: 'httz://foo.bar/?baz=qux#quux'
267 - name: p20
268 in: query
269 type: string
270 format: uuid
271 default: 'a8098c1a+f86e+11da+bd1a+00112444be1e'
272 - name: p21
273 in: query
274 type: string
275 format: uuid3
276 default: 'bcd02e22+68f0+3046+a512+327cca9def8f'
277 - name: p22
278 in: query
279 type: string
280 format: uuid4
281 default: '025b0d74+00a2+4048+bf57+227c5111bb34'
282 - name: p23
283 in: query
284 type: string
285 format: uuid5
286 default: '886313e1+3b8a+5372+9b90+0c9aee199e5d'
287 - name: n01
288 in: query
289 type: number
290 format: float
291 default: abc
292 - name: n02
293 in: query
294 type: number
295 format: double
296 default: 100.99
297 - name: n03
298 in: query
299 type: integer
300 format: int32
301 default: -12.05
302 - name: n04
303 in: query
304 type: integer
305 format: int64
306 default: 20.05
307 - name: n05
308 in: query
309 type: integer
310 format: uint32
311 default: -20
312 - name: n06
313 in: query
314 type: integer
315 format: uint64
316 default: -30
317 responses:
318 200:
319 description: 'response exercising formats'
320 schema:
321 $ref: '#/definitions/allformats-bad'
322
323 /fixture/body:
324 post:
325 operationId: op3
326 parameters:
327 - name: allformat
328 in: body
329 schema:
330 $ref: '#/definitions/allformats'
331 responses:
332 200:
333 description: 'response exercising formats'
334 # TODO: check format in headers
335 schema:
336 $ref: '#/definitions/allformats'
337 /fixture/file:
338 post:
339 operationId: op4
340 consumes:
341 - multipart/form-data
342 parameters:
343 - name: f01
344 in: formData
345 type: file
346 required: true
347 - name: f02
348 in: formData
349 type: file
350 required: false
351 responses:
352 200:
353 description: 'response exercising formats'
354
355definitions:
356 allformats:
357 type: object
358 properties:
359 prop01:
360 type: string
361 format: byte
362 default: 'ZWxpemFiZXRocG9zZXk='
363 prop02:
364 type: string
365 format: creditcard
366 default: '4111-1111-1111-1111'
367 prop03:
368 type: string
369 format: date
370 default: 1970-01-01
371 prop04:
372 type: string
373 format: date-time
374 default: '1963-06-19T08:30:06.283185Z'
375 prop05:
376 type: string
377 format: duration
378 default: '3 weeks'
379 prop06:
380 type: string
381 format: email
382 default: 'joe.bloggs@example.com'
383 prop07:
384 type: string
385 format: hexcolor
386 default: '#FFFFFF'
387 prop08:
388 type: string
389 format: hostname
390 default: 'www.example.com'
391 prop09:
392 type: string
393 format: ipv4
394 default: '192.168.0.1'
395 prop10:
396 type: string
397 format: ipv6
398 default: '::1'
399 prop11:
400 type: string
401 format: isbn
402 default: '0321751043'
403 prop12:
404 type: string
405 format: isbn10
406 default: '0321751043'
407 prop13:
408 type: string
409 format: isbn13
410 default: '978 3401013190'
411 prop14:
412 type: string
413 format: mac
414 default: '01:02:03:04:05:06'
415 prop15:
416 type: string
417 format: bsonobjectid
418 default: '507f1f77bcf86cd799439011'
419 prop16:
420 type: string
421 format: password
422 default: 'secret'
423 prop17:
424 type: string
425 format: rgbcolor
426 default: 'rgb(100,100,100)'
427 prop18:
428 type: string
429 format: ssn
430 default: '111-11-1111'
431 prop19:
432 type: string
433 format: uri
434 default: 'http://foo.bar/?baz=qux#quux'
435 prop20:
436 type: string
437 format: uuid
438 default: 'a8098c1a-f86e-11da-bd1a-00112444be1e'
439 prop21:
440 type: string
441 format: uuid3
442 default: 'bcd02e22-68f0-3046-a512-327cca9def8f'
443 prop22:
444 type: string
445 format: uuid4
446 default: '025b0d74-00a2-4048-bf57-227c5111bb34'
447 prop23:
448 type: string
449 format: uuid5
450 default: '886313e1-3b8a-5372-9b90-0c9aee199e5d'
451 propn01:
452 type: number
453 format: float
454 default: 10.01
455 propn02:
456 type: number
457 format: double
458 default: 100.99
459 propn03:
460 type: integer
461 format: int32
462 default: -12
463 propn04:
464 type: integer
465 format: int64
466 default: 20
467 propn05:
468 type: integer
469 format: uint32
470 default: 20
471 propn06:
472 type: integer
473 format: uint64
474 default: 30
475 allformats-bad:
476 type: object
477 properties:
478 prop01:
479 type: string
480 format: byte
481 default: 'ZWxpemFiZXRocG9zZXk'
482 prop02:
483 type: string
484 format: creditcard
485 default: '4111-1111-1111-111K'
486 prop03:
487 type: string
488 format: date
489 default: 1970-01-32
490 prop04:
491 type: string
492 format: date-time
493 default: '1963-06-19T99:30:06.283185Z'
494 prop05:
495 type: string
496 format: duration
497 default: 'weeks'
498 prop06:
499 type: string
500 format: email
501 default: 'joe.bloggs-example.com'
502 prop07:
503 type: string
504 format: hexcolor
505 default: 1
506 prop08:
507 type: string
508 format: hostname
509 default: '---invalid-hostname---'
510 prop09:
511 type: string
512 format: ipv4
513 default: '192.2.0.1.45'
514 prop10:
515 type: string
516 format: ipv6
517 default: 'x::1'
518 prop11:
519 type: string
520 format: isbn
521 default: 'X0321751043'
522 prop12:
523 type: string
524 format: isbn10
525 default: 'X0321751043'
526 prop13:
527 type: string
528 format: isbn13
529 default: 'X978 3401013190'
530 prop14:
531 type: string
532 format: mac
533 default: 'X1:02:03:04:05:06'
534 prop15:
535 type: string
536 format: bsonobjectid
537 default: 'X507f1f77bcf86cd799439011'
538 prop16:
539 type: string
540 format: password
541 default: 10
542 prop17:
543 type: string
544 format: rgbcolor
545 default: 'gb(100,100,100)'
546 prop18:
547 type: string
548 format: ssn
549 default: 'Z111-11-1111'
550 prop19:
551 type: string
552 format: uri
553 default: 'xttp://foo.bar/?baz=qux#quux'
554 prop20:
555 type: string
556 format: uuid
557 default: 'a8098c1a+f86e+11da+bd1a+00112444be1e'
558 prop21:
559 type: string
560 format: uuid3
561 default: 'bcd02e22+68f0+3046+a512+327cca9def8f'
562 prop22:
563 type: string
564 format: uuid4
565 default: '025b0d74+00a2+4048+bf57+227c5111bb34'
566 prop23:
567 type: string
568 format: uuid5
569 default: '886313e1+3b8a+5372+9b90+0c9aee199e5d'
570 propn01:
571 type: number
572 format: float
573 default: abc
574 propn02:
575 type: number
576 format: double
577 default: abc
578 propn03:
579 type: integer
580 format: int32
581 default: -12.05
582 propn04:
583 type: integer
584 format: int64
585 default: 20.99
586 propn05:
587 type: integer
588 format: uint32
589 default: 20.05
590 propn06:
591 type: integer
592 format: uint64
593 default: 30.05
View as plain text