add unittest

This commit is contained in:
dongfangtianyu 2019-04-06 19:48:26 +08:00
parent 9a05738f97
commit 630cebe057
2 changed files with 36 additions and 0 deletions

View File

@ -166,3 +166,20 @@ class TestGenerator(TestCase):
assert 'openapi' in schema assert 'openapi' in schema
assert 'paths' in schema assert 'paths' in schema
def test_serializer_datefield(self):
patterns = [
url(r'^example/?$', views.ExampleGenericViewSet.as_view({"get":"get"})),
]
generator = SchemaGenerator(patterns=patterns)
request = create_request('/')
schema = generator.get_schema(request=request)
response_schema = schema['paths']['/example/']['get']['responses']['200']['content']['application/json']['schema']['properties']
assert response_schema['date']['type'] == response_schema['datetime']['type']== 'string'
assert response_schema['date']['format'] == 'date'
assert response_schema['datetime']['format'] == 'date-time'

View File

@ -1,5 +1,8 @@
from rest_framework import permissions from rest_framework import permissions
from rest_framework.views import APIView from rest_framework.views import APIView
from rest_framework.viewsets import GenericViewSet
from rest_framework import serializers
from rest_framework.response import Response
class ExampleListView(APIView): class ExampleListView(APIView):
@ -17,3 +20,19 @@ class ExampleDetailView(APIView):
def get(self, *args, **kwargs): def get(self, *args, **kwargs):
pass pass
class ExampleGenericViewSet(GenericViewSet):
class ExampleSerializer(serializers.Serializer):
date = serializers.DateField()
datetime = serializers.DateTimeField()
serializer_class = ExampleSerializer
def get(self, *args, **kwargs):
from datetime import datetime
now = datetime.now()
serializer = self.get_serializer(data=now.date(),datetime=now)
return Response(serializer.data)