This commit is contained in:
parent
0cdbc3e4a2
commit
b940f1f0ca
4 changed files with 33 additions and 6 deletions
|
@ -63,6 +63,7 @@ SWAGGER_SETTINGS = {
|
|||
},
|
||||
'USE_SESSION_AUTH': False,
|
||||
'JSON_EDITOR': True,
|
||||
'DEFAULT_INFO': 'backend.urls.openapi_info',
|
||||
}
|
||||
|
||||
MIDDLEWARE = [
|
||||
|
|
|
@ -18,14 +18,16 @@ from django.urls import path, include
|
|||
from drf_yasg import openapi
|
||||
from drf_yasg.views import get_schema_view
|
||||
|
||||
openapi_info = openapi.Info(
|
||||
title="Toolshed API",
|
||||
default_version='v1',
|
||||
description="API for all things …",
|
||||
)
|
||||
|
||||
schema_view = get_schema_view(
|
||||
openapi.Info(
|
||||
title="Toolshed API",
|
||||
default_version='v1',
|
||||
description="API for all things …",
|
||||
),
|
||||
openapi_info,
|
||||
public=True,
|
||||
permission_classes=[]
|
||||
permission_classes=[],
|
||||
)
|
||||
|
||||
urlpatterns = [
|
||||
|
|
|
@ -23,6 +23,7 @@ class CategorySerializer(serializers.ModelSerializer):
|
|||
model = Category
|
||||
fields = ['name', 'description', 'parent', 'origin']
|
||||
read_only_fields = ['origin']
|
||||
ref_name = 'HostAdminCategory'
|
||||
|
||||
|
||||
class PropertySerializer(serializers.ModelSerializer):
|
||||
|
@ -33,6 +34,7 @@ class PropertySerializer(serializers.ModelSerializer):
|
|||
fields = ['name', 'description', 'category', 'unit_symbol', 'unit_name', 'unit_name_plural', 'base2_prefix',
|
||||
'dimensions', 'origin']
|
||||
read_only_fields = ['origin']
|
||||
ref_name = 'HostAdminProperty'
|
||||
|
||||
|
||||
class TagSerializer(serializers.ModelSerializer):
|
||||
|
@ -42,3 +44,4 @@ class TagSerializer(serializers.ModelSerializer):
|
|||
model = Tag
|
||||
fields = ['name', 'description', 'category', 'origin']
|
||||
read_only_fields = ['origin']
|
||||
ref_name = 'HostAdminTag'
|
||||
|
|
21
backend/toolshed/tests/test_docs.py
Normal file
21
backend/toolshed/tests/test_docs.py
Normal file
|
@ -0,0 +1,21 @@
|
|||
from django.test import Client
|
||||
from authentication.tests import UserTestMixin, SignatureAuthClient, ToolshedTestCase
|
||||
from backend import settings
|
||||
from toolshed.tests import CategoryTestMixin, TagTestMixin, PropertyTestMixin
|
||||
|
||||
anonymous_client = Client()
|
||||
client = SignatureAuthClient()
|
||||
|
||||
|
||||
class OpenapiTestCase(UserTestMixin, CategoryTestMixin, TagTestMixin, PropertyTestMixin, ToolshedTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.prepare_users()
|
||||
|
||||
def test_docs_anonymous(self):
|
||||
response = anonymous_client.get('/docs/?format=openapi')
|
||||
self.assertEqual(response.status_code, 200)
|
||||
self.assertTrue('swagger' in response.json())
|
||||
self.assertTrue('info' in response.json())
|
||||
|
Loading…
Reference in a new issue