示例#1
0
def test_servers_complete(oas_fragment):
    converted = lib2to3.convert(
        oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: 1.0
            host: example.com
            basePath: /v1
            schemes:
              - https
            paths:
              /test:
                get:
                  responses:
                    '200':
                      description: a response description
            """), )
    assert converted == oas_fragment("""
        openapi: 3.0.3
        info:
          title: An example spec
          version: 1.0
        servers:
          - url: https://example.com/v1
        paths:
          /test:
            get:
              responses:
                '200':
                  description: a response description
        """)
示例#2
0
def test_complete(oas_fragment):
    converted = lib2to3.convert(
        oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: 1.0
            tags:
              - tag_a
            externalDocs: https://docs.example.com/
            paths:
              /test:
                get:
                  responses:
                    '200':
                      description: a response description
            """))
    assert converted == oas_fragment("""
        openapi: 3.0.3
        info:
          title: An example spec
          version: 1.0
        tags:
          - tag_a
        externalDocs: https://docs.example.com/
        paths:
          /test:
            get:
              responses:
                '200':
                  description: a response description
        """)
示例#3
0
def test_minimal(oas_fragment):
    converted = lib2to3.convert(
        oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: 1.0
            paths:
              /test:
                get:
                  responses:
                    '200':
                      description: a response description
            """))
    assert converted == oas_fragment("""
        openapi: 3.0.3
        info:
          title: An example spec
          version: 1.0
        paths:
          /test:
            get:
              responses:
                '200':
                  description: a response description
        """)
示例#4
0
def test_servers_schemes_from_operation(oas_fragment):
    converted = lib2to3.convert(
        oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: 1.0
            host: example.com
            schemes:
              - http
            paths:
              /test:
                get:
                  schemes:
                    - ws
                  responses:
                    '200':
                      description: a response description
            """), )
    assert converted == oas_fragment("""
        openapi: 3.0.3
        info:
          title: An example spec
          version: 1.0
        servers:
          - url: http://example.com
          - url: ws://example.com
        paths:
          /test:
            get:
              responses:
                '200':
                  description: a response description
        """)
示例#5
0
def test_servers_basepath_only(oas_fragment):
    converted = lib2to3.convert(
        oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: 1.0
            basePath: /v1
            paths:
              /test:
                get:
                  responses:
                    '200':
                      description: a response description
            """), )
    assert converted == oas_fragment("""
        openapi: 3.0.3
        info:
          title: An example spec
          version: 1.0
        servers:
          - url: /v1
        paths:
          /test:
            get:
              responses:
                '200':
                  description: a response description
        """)
示例#6
0
def test_consumes_operation_override(oas_fragment):
    converted = lib2to3.convert(
        oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: 1.0
            consumes:
              - application/xml
            paths:
              /test:
                post:
                  consumes:
                    - application/json
                  parameters:
                    - in: query
                      name: marker
                      type: string
                    - in: body
                      name: payload
                      schema:
                        type: string
                  responses:
                    '201':
                      description: a response description
            """))
    assert converted == oas_fragment("""
        openapi: 3.0.3
        info:
          title: An example spec
          version: 1.0
        paths:
          /test:
            post:
              parameters:
                - in: query
                  name: marker
                  schema:
                    type: string
              requestBody:
                content:
                  application/json:
                    schema:
                      type: string
              responses:
                '201':
                  description: a response description
        """)
示例#7
0
    def _wrapper(operation):
        oas2 = oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: "1.0"
            paths:
              /test:
                get:
                  responses:
                    '200':
                      description: a response description
            """)
        oas2["paths"]["/test"]["get"] = operation

        oas3 = lib2to3.convert(oas2)
        return oas3["paths"]["/test"]["get"]
示例#8
0
def test_produces_operation_override(oas_fragment):
    converted = lib2to3.convert(
        oas_fragment("""
            swagger: "2.0"
            info:
              title: An example spec
              version: 1.0
            produces:
              - application/xml
            paths:
              /test:
                get:
                  produces:
                    - application/json
                  responses:
                    '200':
                      schema:
                        items:
                          format: int32
                          type: integer
                        type: array
                      description: a response description
            """))
    assert converted == oas_fragment("""
        openapi: 3.0.3
        info:
          title: An example spec
          version: 1.0
        paths:
          /test:
            get:
              responses:
                '200':
                  content:
                    application/json:
                      schema:
                        items:
                          format: int32
                          type: integer
                        type: array
                  description: a response description
        """)
    def render_restructuredtext_markup(self, spec):
        """Spec render entry point."""

        if spec.get("swagger") == "2.0":
            spec = lib2to3.convert(spec)
        yield from self.render_paths(spec.get("paths", {}))