...

Text file src/github.com/go-openapi/validate/fixtures/validation/fixture-all-formats.yaml

Documentation: github.com/go-openapi/validate/fixtures/validation

     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