diff options
| author | Tom Christie | 2013-02-20 12:18:57 +0000 |
|---|---|---|
| committer | Tom Christie | 2013-02-20 12:18:57 +0000 |
| commit | 03afaee423967e09fe266e9fe124f661c1e10ccb (patch) | |
| tree | 22cb4f529d34cdd60ec860ef73255d0293d14d00 /rest_framework/tests | |
| parent | 47a4f0863d08e4b839ea3bbd7308ecc0f995b7d9 (diff) | |
| parent | 2fb6fa2dd3b336cc442e707dbb80a4d5616582a6 (diff) | |
| download | django-rest-framework-03afaee423967e09fe266e9fe124f661c1e10ccb.tar.bz2 | |
Merge branch 'browsable_api_patch' of https://github.com/wronglink/django-rest-framework into generic-form-input
Diffstat (limited to 'rest_framework/tests')
| -rw-r--r-- | rest_framework/tests/renderers.py | 4 | ||||
| -rw-r--r-- | rest_framework/tests/utils.py | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/rest_framework/tests/renderers.py b/rest_framework/tests/renderers.py index e3f45ce6..90ef1221 100644 --- a/rest_framework/tests/renderers.py +++ b/rest_framework/tests/renderers.py @@ -112,6 +112,9 @@ class POSTDeniedView(APIView): def put(self, request): return Response() + def patch(self, request): + return Response() + class DocumentingRendererTests(TestCase): def test_only_permitted_forms_are_displayed(self): @@ -120,6 +123,7 @@ class DocumentingRendererTests(TestCase): response = view(request).render() self.assertNotContains(response, '>POST<') self.assertContains(response, '>PUT<') + self.assertContains(response, '>PATCH<') class RendererEndToEndTests(TestCase): diff --git a/rest_framework/tests/utils.py b/rest_framework/tests/utils.py index 224c4f9d..8c87917d 100644 --- a/rest_framework/tests/utils.py +++ b/rest_framework/tests/utils.py @@ -1,10 +1,10 @@ from __future__ import unicode_literals -from django.test.client import RequestFactory, FakePayload +from django.test.client import FakePayload, Client as _Client, RequestFactory as _RequestFactory from django.test.client import MULTIPART_CONTENT from rest_framework.compat import urlparse -class RequestFactory(RequestFactory): +class RequestFactory(_RequestFactory): def __init__(self, **defaults): super(RequestFactory, self).__init__(**defaults) @@ -26,3 +26,15 @@ class RequestFactory(RequestFactory): } r.update(extra) return self.request(**r) + + +class Client(_Client, RequestFactory): + def patch(self, path, data={}, content_type=MULTIPART_CONTENT, + follow=False, **extra): + """ + Send a resource to the server using PATCH. + """ + response = super(Client, self).patch(path, data=data, content_type=content_type, **extra) + if follow: + response = self._handle_redirects(response, **extra) + return response |
