From fc38b383ea99df7f0c26bd94d04445c88527d566 Mon Sep 17 00:00:00 2001 From: Johannes Christ Date: Wed, 15 Aug 2018 21:46:56 +0200 Subject: Use viewsets and the `rest_framework` router. --- api/serializers.py | 8 ++++++++ api/tests.py | 3 --- api/tests/__init__.py | 0 api/tests/test_snake_names.py | 10 ++++++++++ api/urls.py | 11 +++++++++++ api/views.py | 3 --- api/viewsets.py | 9 +++++++++ 7 files changed, 38 insertions(+), 6 deletions(-) create mode 100644 api/serializers.py delete mode 100644 api/tests.py create mode 100644 api/tests/__init__.py create mode 100644 api/tests/test_snake_names.py create mode 100644 api/urls.py delete mode 100644 api/views.py create mode 100644 api/viewsets.py (limited to 'api') diff --git a/api/serializers.py b/api/serializers.py new file mode 100644 index 00000000..327e78db --- /dev/null +++ b/api/serializers.py @@ -0,0 +1,8 @@ +from rest_framework.serializers import ModelSerializer + +from .models import SnakeName + + +class SnakeNameSerializer(ModelSerializer): + class Meta: + model = SnakeName diff --git a/api/tests.py b/api/tests.py deleted file mode 100644 index 7ce503c2..00000000 --- a/api/tests.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.test import TestCase - -# Create your tests here. diff --git a/api/tests/__init__.py b/api/tests/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/api/tests/test_snake_names.py b/api/tests/test_snake_names.py new file mode 100644 index 00000000..14574311 --- /dev/null +++ b/api/tests/test_snake_names.py @@ -0,0 +1,10 @@ +from django_hosts.resolvers import reverse +from rest_framework.test import APITestCase, force_authenticate + + +class EmptyDatabaseSnakeNameTests(APITestCase): + def test_endpoint_returns_empty_list(self): + import pdb; pdb.set_trace() + url = reverse('snake-names-list', host='api') + response = self.client.get(url) + self.assertEqual(response.status_code, 200) diff --git a/api/urls.py b/api/urls.py new file mode 100644 index 00000000..c1fa70d5 --- /dev/null +++ b/api/urls.py @@ -0,0 +1,11 @@ +from rest_framework.routers import SimpleRouter + +from .viewsets import SnakeNameViewSet + + +# http://www.django-rest-framework.org/api-guide/routers/#simplerouter +router = SimpleRouter(trailing_slash=False) +router.register(r'snake-names', SnakeNameViewSet) + +app_name = 'api' +urlpatterns = router.urls diff --git a/api/views.py b/api/views.py deleted file mode 100644 index 91ea44a2..00000000 --- a/api/views.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.shortcuts import render - -# Create your views here. diff --git a/api/viewsets.py b/api/viewsets.py new file mode 100644 index 00000000..14e88029 --- /dev/null +++ b/api/viewsets.py @@ -0,0 +1,9 @@ +from rest_framework.viewsets import ReadOnlyModelViewSet + +from .models import SnakeName +from .serializers import SnakeNameSerializer + + +class SnakeNameViewSet(ReadOnlyModelViewSet): + queryset = SnakeName.objects.all() + serializer_class = SnakeNameSerializer -- cgit v1.2.3