github.com/kaisawind/go-swagger@v0.19.0/fixtures/bugs/909/gentest.yaml (about)

     1  swagger: '2.0'
     2  info:
     3    title: code generation test fixture for parameters, with default values
     4    version: '1.0.0'
     5  host: localhost
     6  basePath: /
     7  consumes:
     8    - application/json
     9  produces:
    10    - application/json
    11  schemes:
    12    - http
    13  paths:
    14    /required/params:
    15      get:
    16        operationId: getRequired
    17        parameters:
    18        - name: notAnOption1
    19          in: query
    20          type: string
    21          format: date
    22          required: true
    23        - name: notAnOption2
    24          in: query
    25          type: string
    26          format: password
    27          pattern: '^[a-z]$'
    28          required: true
    29        - name: notAnOption3
    30          in: query
    31          type: integer
    32          format: int32
    33          required: true
    34        - name: notAnOption4
    35          in: query
    36          type: integer
    37          format: int32
    38          required: true
    39          minimum: 10
    40          maximum: 100
    41          multipleOf: 10
    42        - name: notAnOption5
    43          in: query
    44          type: array
    45          required: true
    46          maxItems: 2
    47          items:
    48            type: string
    49            format: uuid
    50        - name: notAnOption6
    51          in: query
    52          type: array
    53          collectionFormat: pipes
    54          required: true
    55          uniqueItems: true
    56          items:
    57            type: integer
    58            format: int32
    59            minimum: 10
    60            maximum: 100
    61            multipleOf: 10
    62        - name: notAnOption7
    63          in: query
    64          type: array
    65          collectionFormat: pipes
    66          required: true
    67          uniqueItems: false
    68          items:
    69            type: array
    70            collectionFormat: csv
    71            uniqueItems: true
    72            items:
    73              type: string
    74              format: date
    75        responses: &stdResponses
    76          200:
    77            description: simple type
    78            schema:
    79              type: string
    80              format: date
    81          201:
    82            description: simple type
    83            schema:
    84              type: string
    85              format: uuid
    86          default:
    87            description: schema type
    88            schema:
    89              $ref: '#/definitions/ContainerConfig'
    90    /optional/params:
    91      get:
    92        operationId: getOptional
    93        parameters:
    94        - name: sanityCheck1
    95          in: query
    96          type: string
    97          required: false
    98          default: sanity check one passed for primitive type
    99        - name: sanityCheck2
   100          in: query
   101          type: number
   102          required: false
   103          default: 99.9
   104        - name: sanityCheck3
   105          in: query
   106          type: integer
   107          required: false
   108          default: 1000
   109        - name: sanityCheck4
   110          in: query
   111          type: integer
   112          format: uint32
   113          required: false
   114          default: 100
   115        - name: sanityCheckFormat1
   116          in: query
   117          type: string
   118          format: uuid
   119          required: false
   120          default: a8098c1a-f86e-11da-bd1a-00112444be1e
   121        - name: isAnOption1
   122          in: query
   123          type: string
   124          format: date
   125          required: false
   126          default: 1970-01-01
   127        - name: isAnOption2
   128          in: query
   129          type: string
   130          format: password
   131          pattern: '^[a-z]$'
   132          required: false
   133          default: z
   134        - name: isAnOption3
   135          in: query
   136          type: integer
   137          format: int32
   138          required: false
   139          default: 32
   140        - name: isAnOption4
   141          in: query
   142          type: integer
   143          format: int32
   144          required: false
   145          minimum: 10
   146          maximum: 100
   147          multipleOf: 10
   148          default: 60
   149        - name: isAnOption5
   150          in: query
   151          type: array
   152          maxItems: 2
   153          items:
   154            type: string
   155            format: uuid
   156          default:
   157          - a8098c1a-f86e-11da-bd1a-00112444be1e
   158        - name: isAnOption6
   159          in: query
   160          type: array
   161          collectionFormat: pipes
   162          required: false
   163          items:
   164            type: integer
   165            format: int32
   166            minimum: 10
   167            maximum: 100
   168            multipleOf: 10
   169          default:
   170          - 10
   171          - 20
   172          - 30
   173          - 40
   174        - name: isAnOption7
   175          in: query
   176          type: array
   177          collectionFormat: pipes
   178          required: false
   179          items:
   180            type: array
   181            collectionFormat: csv
   182            items:
   183              type: string
   184              format: date
   185            default:
   186            - 2018-01-01
   187            - 2018-01-02
   188            - 2018-01-03
   189            - 2018-01-04
   190          default:
   191          -
   192            - 2012-01-01
   193            - 2014-01-02
   194            - 2016-01-03
   195            - 2018-01-04
   196          -
   197            - 2011-01-01
   198            - 2013-01-02
   199            - 2015-01-03
   200            - 2017-01-04
   201        - name: isAnOption8
   202          in: query
   203          type: array
   204          maxItems: 2
   205          uniqueItems: true
   206          items:
   207            type: string
   208          default:
   209          - default unformatted string array item 1
   210          - default unformatted string array item 2
   211        - name: isAnOption9
   212          in: query
   213          type: array
   214          collectionFormat: pipes
   215          required: false
   216          items:
   217            type: array
   218            collectionFormat: csv
   219            items:
   220              type: string
   221              format: duration
   222            default:
   223            - 1d
   224            - 1w
   225            - 1h
   226            - 2w
   227          default:
   228          -
   229            - 1s
   230            - 1h
   231            - 1d
   232            - 1w
   233          -
   234            - 2s
   235            - 2h
   236            - 2d
   237            - 2w
   238        responses: *stdResponses
   239    /path/params/{notAnOption1}/{notAnOption2}/{notAnOption3}/{notAnOption4}/{notAnOption5}/{notAnOption6}/{notAnOption7}:
   240      get:
   241        operationId: getRequiredInPath
   242        parameters:
   243        - name: notAnOption1
   244          in: path
   245          type: string
   246          format: date
   247          required: true
   248        - name: notAnOption2
   249          in: path
   250          type: string
   251          format: password
   252          pattern: '^[a-z]$'
   253          required: true
   254        - name: notAnOption3
   255          in: path
   256          type: integer
   257          format: int32
   258          required: true
   259        - name: notAnOption4
   260          in: path
   261          type: integer
   262          format: int32
   263          required: true
   264          minimum: 10
   265          maximum: 100
   266          multipleOf: 10
   267        - name: notAnOption5
   268          in: path
   269          type: array
   270          maxItems: 2
   271          required: true
   272          items:
   273            type: string
   274            format: uuid
   275        - name: notAnOption6
   276          in: path
   277          type: array
   278          collectionFormat: pipes
   279          required: true
   280          items:
   281            type: integer
   282            format: int32
   283            minimum: 10
   284            maximum: 100
   285            multipleOf: 10
   286        - name: notAnOption7
   287          in: path
   288          type: array
   289          collectionFormat: pipes
   290          required: true
   291          items:
   292            type: array
   293            collectionFormat: csv
   294            items:
   295              type: string
   296              format: date
   297        responses: *stdResponses
   298    /optional/headers:
   299      get:
   300        operationId: getInHeaders
   301        parameters:
   302        - name: isAnOption1
   303          in: header
   304          type: string
   305          format: date
   306          required: false
   307          default: 1970-01-01
   308        - name: isAnOption2
   309          in: header
   310          type: string
   311          format: password
   312          pattern: '^[a-z]$'
   313          required: false
   314          default: z
   315        - name: isAnOption3
   316          in: header
   317          type: integer
   318          format: int32
   319          required: false
   320          default: 32
   321        - name: isAnOption4
   322          in: header
   323          type: integer
   324          format: int32
   325          required: false
   326          minimum: 10
   327          maximum: 100
   328          multipleOf: 10
   329          default: 60
   330        - name: isAnOption5
   331          in: header
   332          type: array
   333          maxItems: 2
   334          items:
   335            type: string
   336            format: uuid
   337          default:
   338          - a8098c1a-f86e-11da-bd1a-00112444be1e
   339        - name: isAnOption6
   340          in: header
   341          type: array
   342          collectionFormat: pipes
   343          required: false
   344          items:
   345            type: integer
   346            format: int32
   347            minimum: 10
   348            maximum: 100
   349            multipleOf: 10
   350          default:
   351          - 10
   352          - 20
   353          - 30
   354          - 40
   355        - name: isAnOption7
   356          in: header
   357          type: array
   358          collectionFormat: pipes
   359          required: false
   360          items:
   361            type: array
   362            collectionFormat: csv
   363            items:
   364              type: string
   365              format: date
   366            default:
   367            - 2018-01-01
   368            - 2018-01-02
   369            - 2018-01-03
   370            - 2018-01-04
   371          default:
   372          -
   373            - 2012-01-01
   374            - 2014-01-02
   375            - 2016-01-03
   376            - 2018-01-04
   377          -
   378            - 2011-01-01
   379            - 2013-01-02
   380            - 2015-01-03
   381            - 2017-01-04
   382        responses: *stdResponses
   383    /mixed/deepnested:
   384      get:
   385        operationId: getInDepth
   386        parameters:
   387        - name: deepNested1
   388          in: query
   389          type: array
   390          collectionFormat: pipes
   391          required: true
   392          maxItems: 2
   393          items:
   394            type: array
   395            collectionFormat: csv
   396            minItems: 2
   397            items:
   398              type: array
   399              collectionFormat: ssv
   400              uniqueItems: true
   401              items:
   402                type: string
   403                pattern: '^[a-z]$'
   404              default:
   405              - a
   406              - b
   407              - c
   408            default:
   409            -
   410              - x
   411              - 'y'
   412              - z
   413            -
   414              - u
   415              - v
   416              - w
   417          default:
   418          -
   419            -
   420              - h
   421              - i
   422              - j
   423            -
   424              - k
   425              - l
   426              - m
   427          -
   428            -
   429              - h
   430              - i
   431              - j
   432            -
   433              - k
   434              - l
   435              - m
   436        - name: deepNested2
   437          in: header
   438          type: array
   439          collectionFormat: pipes
   440          required: false
   441          maxItems: 2
   442          items:
   443            type: array
   444            collectionFormat: csv
   445            minItems: 2
   446            items:
   447              type: array
   448              collectionFormat: ssv
   449              uniqueItems: true
   450              items:
   451                type: string
   452                pattern: '^[a-z]$'
   453              default:
   454              - a
   455              - b
   456              - c
   457            default:
   458            -
   459              - x
   460              - 'y'
   461              - z
   462            -
   463              - u
   464              - v
   465              - w
   466          default:
   467          -
   468            -
   469              - h
   470              - i
   471              - j
   472            -
   473              - k
   474              - l
   475              - m
   476          -
   477            -
   478              - h
   479              - i
   480              - j
   481            -
   482              - k
   483              - l
   484              - m
   485        responses: *stdResponses
   486    /mixed/mixedBody/{pathParam1}:
   487      post:
   488        operationId: getInBody
   489        parameters:
   490        - name: bodyBuilding
   491          in: body
   492          schema:
   493            $ref: '#/definitions/ContainerConfig'
   494        - name: queryParam1
   495          in: query
   496          type: integer
   497          required: false
   498          allowEmptyValue: true
   499          default: 100
   500          maximum: 1000
   501        - name: queryParam2
   502          in: query
   503          type: string
   504          format: date
   505          required: false
   506          default: 1970-01-01
   507        - name: queryParam3
   508          in: query
   509          type: integer 
   510          format: uint32
   511          minimum: 12
   512          exclusiveMinimum: true
   513          allowEmptyValue: true
   514          required: true
   515        - name: queryParam4
   516          in: query
   517          collectionFormat: multi
   518          maxItems: 2
   519          type: array
   520          items:
   521            type: string
   522            format: uuid
   523          default:
   524          - a8098c1a-f86e-11da-bd1a-00112444be1e
   525          - a8098c1a-f86e-11da-bd1a-00112444be1e
   526        - name: query_issue_863
   527          in: query
   528          type: array
   529          items:
   530            type: string
   531            enum:
   532            - enum1
   533            - enum2
   534            - enum3
   535        - name: pathParam1
   536          in: path
   537          type: string
   538          pattern: '^\w+$'
   539          required: true
   540        - name: headerParam1
   541          in: header
   542          type: array
   543          items:
   544            type: number
   545          default:
   546          - 1.1
   547          - 2.75
   548          required: false
   549        responses: *stdResponses
   550  
   551    /mixed/mixedBody2/{pathParam1}:
   552      post:
   553        operationId: getInBody2
   554        parameters:
   555        - name: bodyBuilding
   556          in: body
   557          required: true
   558          schema:
   559            $ref: '#/definitions/errorResponseMsg'
   560        - name: queryParam1
   561          in: query
   562          type: integer
   563          required: false
   564          allowEmptyValue: true
   565          default: 100
   566          maximum: 1000
   567        - name: queryParam2
   568          in: query
   569          type: string
   570          format: date
   571          required: true
   572          default: 1970-01-01
   573        - name: queryParam3
   574          in: query
   575          type: integer 
   576          format: uint32
   577          minimum: 12
   578          exclusiveMinimum: true
   579          allowEmptyValue: true
   580          required: true
   581        - name: queryParam4
   582          in: query
   583          collectionFormat: multi
   584          maxItems: 2
   585          type: array
   586          items:
   587            type: string
   588            format: uuid
   589          default:
   590          - a8098c1a-f86e-11da-bd1a-00112444be1e
   591        - name: pathParam1
   592          in: path
   593          type: string
   594          pattern: '^\w+$'
   595          required: true
   596        - name: headerParam1
   597          in: header
   598          type: array
   599          items:
   600            type: number
   601          default:
   602          - 1.1
   603          - 2.75
   604          required: false
   605        responses: *stdResponses
   606  
   607    /mixed/mixedBody3/{pathParam1}:
   608      post:
   609        operationId: getInBody3
   610        parameters:
   611        - name: bodyBuilding
   612          in: body
   613          required: false
   614          schema:
   615            $ref: '#/definitions/errorResponseMsg'
   616        - name: queryParam1
   617          in: query
   618          type: integer
   619          required: false
   620          allowEmptyValue: true
   621          default: 100
   622          maximum: 1000
   623        - name: queryParam2
   624          in: query
   625          type: string
   626          format: date
   627          required: true
   628          default: 1970-01-01
   629        - name: queryParam3
   630          in: query
   631          type: integer 
   632          format: uint32
   633          minimum: 12
   634          exclusiveMinimum: true
   635          allowEmptyValue: true
   636          required: true
   637        - name: queryParam4
   638          in: query
   639          collectionFormat: multi
   640          maxItems: 2
   641          type: array
   642          items:
   643            type: string
   644            format: uuid
   645          default:
   646          - a8098c1a-f86e-11da-bd1a-00112444be1e
   647        - name: pathParam1
   648          in: path
   649          type: string
   650          pattern: '^\w+$'
   651          required: true
   652        - name: headerParam1
   653          in: header
   654          type: array
   655          items:
   656            type: number
   657          default:
   658          - 1.1
   659          - 2.75
   660          required: false
   661        responses: *stdResponses
   662    /form/{pathParam1}:
   663      post:
   664        operationId: getInForm
   665        consumes:
   666        - multipart/formData
   667        parameters:
   668        - name: pathParam1
   669          in: path
   670          type: string
   671          maxLength: 10
   672          required: true
   673        - name: docname
   674          in: formData
   675          type: string
   676          pattern: '^\w+\.doc$'
   677          required: true
   678        - name: docAuthor
   679          in: formData
   680          type: string
   681        - name: attachment
   682          in: formData
   683          type: file
   684          required: true
   685        - name: addendum
   686          in: formData
   687          type: file
   688          required: false
   689        responses: *stdResponses
   690  
   691  definitions:
   692    ContainerConfig:
   693      type: object
   694      required: [config1]
   695      properties:
   696        config1:
   697          type: string
   698          format: date
   699        config2:
   700          type: string
   701          format: date
   702          default: 1999-09-09
   703      default:
   704        config1: 2019-09-09
   705        config2: 2018-09-09
   706    errorResponseMsg:
   707      type: object 
   708      required: [ errorCode, reason ]
   709      properties:
   710        errorCode:
   711          type: integer
   712        reason:
   713          type: string
   714        severity:
   715          type: string
   716          enum: [ FATAL, CRITICAL, ERROR, WARNING, INFO ]
   717        additional:
   718          type: string
   719          enum: [ FATAL, CRITICAL, ERROR, WARNING, INFO ]
   720          default: INFO
   721      default:
   722        errorCode: 501
   723        reason: not implemented
   724        severity: FATAL