本文整理汇总了Python中rest_framework_swagger.docgenerator.DocumentationGenerator类的典型用法代码示例。如果您正苦于以下问题:Python DocumentationGenerator类的具体用法?Python DocumentationGenerator怎么用?Python DocumentationGenerator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了DocumentationGenerator类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_get_allowed_methods
def test_get_allowed_methods(self):
"""
Tests a ModelViewSet's allowed methods. If the path includes something like {pk},
consider it an object view, otherwise, a list view
"""
from django.contrib.auth.models import User
class MyViewSet(ModelViewSet):
serializer_class = CommentSerializer
model = User
docgen = DocumentationGenerator()
# Test a list endpoint
allowed_methods = docgen.__get_allowed_methods__(MyViewSet, '/api/endpoint')
self.assertEqual(2, len(allowed_methods))
self.assertIn('POST', allowed_methods)
self.assertIn('GET', allowed_methods)
# Test an object endpoint
allowed_methods = docgen.__get_allowed_methods__(MyViewSet, '/api/endpoint/{pk}')
self.assertEqual(4, len(allowed_methods))
self.assertIn('POST', allowed_methods)
self.assertIn('PATCH', allowed_methods)
self.assertIn('DELETE', allowed_methods)
self.assertIn('GET', allowed_methods)
示例2: get
def get(self, request, *args, **kwargs):
path = request.path
path = path[:request.path.find('/api-docs')]
apis = self.get_apis(path)
generator = DocumentationGenerator(for_user=request.user)
info = copy.deepcopy(rfs.SWAGGER_SETTINGS.get('info', {
'contact': {},
'description': '',
'license': {'name': ''},
'termsOfService': '',
'title': '',
'version': '',
}))
if 'version' not in info or info['version'] == '':
matches = version_re.search(path)
if matches is not None:
info['version'] = matches.groups()[0]
return Response({
'swagger': '2.0',
'basePath': path,
'paths': generator.generate(apis),
'definitions': generator.get_models(apis),
'info': info,
'tags': rfs.SWAGGER_SETTINGS.get('tags', [])
})
示例3: test_build_body_parameters
def test_build_body_parameters(self):
class SerializedAPI(ListCreateAPIView):
serializer_class = CommentSerializer
docgen = DocumentationGenerator()
params = docgen.__build_body_parameters__(SerializedAPI)
self.assertEqual('CommentSerializer', params['name'])
示例4: test_build_form_parameters
def test_build_form_parameters(self):
class SerializedAPI(ListCreateAPIView):
serializer_class = CommentSerializer
docgen = DocumentationGenerator()
params = docgen.__build_form_parameters__(SerializedAPI, 'POST')
self.assertEqual(len(CommentSerializer().get_fields()), len(params))
示例5: get
def get(self, request, version=None, swagger_config_name=None):
self.check_permission(request, swagger_config_name)
paths = self.get_paths()
generator = DocumentationGenerator(
for_user=request.user,
config=self.config,
request=request
)
return Response(generator.get_root(paths))
示例6: get
def get(self, request, path):
apis = self.get_api_for_resource(path)
generator = DocumentationGenerator()
return Response({
'apis': generator.generate(apis),
'models': generator.get_models(apis),
'basePath': self.api_full_uri,
})
示例7: get
def get(self, request, path, *args, **kwargs):
apis = self.get_apis_for_resource(path)
generator = DocumentationGenerator(for_user=request.user)
return Response({
'apiVersion': rfs.SWAGGER_SETTINGS.get('api_version', ''),
'swaggerVersion': '1.2',
'basePath': self.api_full_uri.rstrip('/'),
'resourcePath': '/' + path,
'apis': generator.generate(apis),
'models': generator.get_models(apis),
})
示例8: test_get_method_generic_api_view
def test_get_method_generic_api_view(self):
class MyListView(ListCreateAPIView):
"""
My comment
"""
pass
generator = DocumentationGenerator()
method_docs = generator.__get_method_docs__(MyListView(), 'POST')
self.assertEqual("My comment", method_docs)
示例9: get
def get(self, request, path):
apis = self.get_api_for_resource(path)
generator = DocumentationGenerator()
return Response({
'apiVersion': SWAGGER_SETTINGS.get('api_version', ''),
'swaggerVersion': '1.2',
"resourcePath": "/{}".format(path),
'apis': generator.generate(apis),
'models': generator.get_models(apis),
'basePath': self.api_full_uri.rstrip('/'),
})
示例10: test_get_serializer_set
def test_get_serializer_set(self):
class SerializedAPI(ListCreateAPIView):
serializer_class = CommentSerializer
urlparser = UrlParser()
url_patterns = patterns('', url(r'my-api/', SerializedAPI.as_view()))
apis = urlparser.get_apis(url_patterns)
docgen = DocumentationGenerator()
serializers = docgen.__get_serializer_set__(apis)
self.assertIn(CommentSerializer, serializers)
示例11: test_strip_params_from_docstring
def test_strip_params_from_docstring(self):
class AnAPIView(APIView):
"""
My comments are here
param -- my param
"""
pass
docgen = DocumentationGenerator()
docstring = docgen.__strip_params_from_docstring__(trim_docstring(AnAPIView.__doc__))
self.assertEqual("My comments are here<br/>", docstring)
示例12: get
def get(self, request, path, *args, **kwargs):
apis = self.get_apis_for_resource(path)
generator = DocumentationGenerator(for_user=request.user)
return Response(
{
"apiVersion": rfs.SWAGGER_SETTINGS.get("api_version", ""),
"swaggerVersion": "1.2",
"basePath": self.api_full_uri.rstrip("/"),
"resourcePath": "/" + path,
"apis": generator.generate(apis),
"models": generator.get_models(apis),
}
)
示例13: test_get_method_docs
def test_get_method_docs(self):
class TestApiView(APIView):
def get(self, *args):
"""
Here are my comments
"""
pass
generator = DocumentationGenerator()
docs_get = generator.__get_method_docs__(TestApiView(), 'GET')
self.assertEqual("Here are my comments", docs_get)
示例14: get
def get(self, request, path):
apis = self.get_api_for_resource(path)
generator = DocumentationGenerator()
return Response({
'apiVersion': rfs.SWAGGER_SETTINGS.get('api_version', ''),
'swaggerVersion': '1.2',
'basePath': self.api_full_uri.rstrip('/'),
'resourcePath': '/' + path,
'apiCustomHeaders': rfs.SWAGGER_SETTINGS.get('custom_headers', {}),
'apis': generator.generate(apis),
'models': generator.get_models(apis),
})
示例15: test_get_operations_with_no_methods
def test_get_operations_with_no_methods(self):
class AnAPIView(APIView):
pass
api = {
'path': 'a-path/',
'callback': AnAPIView,
'pattern': patterns('')
}
docgen = DocumentationGenerator()
operations = docgen.__get_operations__(api)
self.assertEqual([], operations)