parent
13311582ea
commit
a72e5b2899
|
|
@ -1,5 +1,3 @@
|
|||
from six import raise_from
|
||||
|
||||
import copy
|
||||
import json
|
||||
import logging
|
||||
|
|
@ -8,6 +6,8 @@ from collections import OrderedDict
|
|||
from coreapi.compat import force_bytes
|
||||
from ruamel import yaml
|
||||
|
||||
from six import binary_type, raise_from, text_type
|
||||
|
||||
from . import openapi
|
||||
from .errors import SwaggerValidationError
|
||||
|
||||
|
|
@ -176,7 +176,14 @@ class SaneYamlDumper(yaml.SafeDumper):
|
|||
node.flow_style = best_style
|
||||
return node
|
||||
|
||||
def represent_text(self, text):
|
||||
if "\n" in text:
|
||||
return self.represent_scalar('tag:yaml.org,2002:str', text, style='|')
|
||||
return self.represent_scalar('tag:yaml.org,2002:str', text)
|
||||
|
||||
|
||||
SaneYamlDumper.add_representer(binary_type, SaneYamlDumper.represent_text)
|
||||
SaneYamlDumper.add_representer(text_type, SaneYamlDumper.represent_text)
|
||||
SaneYamlDumper.add_representer(OrderedDict, SaneYamlDumper.represent_odict)
|
||||
SaneYamlDumper.add_multi_representer(OrderedDict, SaneYamlDumper.represent_odict)
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ swagger_info = openapi.Info(
|
|||
default_version='v1',
|
||||
description="""This is a demo project for the [drf-yasg](https://github.com/axnsan12/drf-yasg) Django Rest Framework library.
|
||||
|
||||
The `swagger-ui` view can be found [here](/cached/swagger).
|
||||
The `ReDoc` view can be found [here](/cached/redoc).
|
||||
The swagger YAML document can be found [here](/cached/swagger.yaml).
|
||||
The `swagger-ui` view can be found [here](/cached/swagger).
|
||||
The `ReDoc` view can be found [here](/cached/redoc).
|
||||
The swagger YAML document can be found [here](/cached/swagger.yaml).
|
||||
|
||||
You can log in using the pre-existing `admin` user with password `passwordadmin`.""", # noqa
|
||||
terms_of_service="https://www.google.com/policies/terms/",
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ info:
|
|||
title: Snippets API
|
||||
description: "This is a demo project for the [drf-yasg](https://github.com/axnsan12/drf-yasg)\
|
||||
\ Django Rest Framework library.\n\nThe `swagger-ui` view can be found [here](/cached/swagger).\
|
||||
\ \nThe `ReDoc` view can be found [here](/cached/redoc). \nThe swagger YAML\
|
||||
\ document can be found [here](/cached/swagger.yaml). \n\nYou can log in using\
|
||||
\nThe `ReDoc` view can be found [here](/cached/redoc).\nThe swagger YAML\
|
||||
\ document can be found [here](/cached/swagger.yaml).\n\nYou can log in using\
|
||||
\ the pre-existing `admin` user with password `passwordadmin`."
|
||||
termsOfService: https://www.google.com/policies/terms/
|
||||
contact:
|
||||
|
|
|
|||
|
|
@ -334,3 +334,20 @@ def test_optional_return_type(py_type, expected_type):
|
|||
swagger = generator.get_schema(None, True)
|
||||
property_schema = swagger["definitions"]["OptionalMethod"]["properties"]["x"]
|
||||
assert property_schema == openapi.Schema(title='X', type=expected_type, readOnly=True)
|
||||
|
||||
|
||||
EXPECTED_DESCRIPTION = """\
|
||||
description: |-
|
||||
This is a demo project for the [drf-yasg](https://github.com/axnsan12/drf-yasg) Django Rest Framework library.
|
||||
|
||||
The `swagger-ui` view can be found [here](/cached/swagger).
|
||||
The `ReDoc` view can be found [here](/cached/redoc).
|
||||
The swagger YAML document can be found [here](/cached/swagger.yaml).
|
||||
|
||||
You can log in using the pre-existing `admin` user with password `passwordadmin`.
|
||||
"""
|
||||
|
||||
def test_multiline_strings(call_generate_swagger):
|
||||
output = call_generate_swagger(format='yaml')
|
||||
print("|\n|".join(output.splitlines()[:20]))
|
||||
assert EXPECTED_DESCRIPTION in output
|
||||
|
|
|
|||
Loading…
Reference in New Issue