aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/test.py
diff options
context:
space:
mode:
authorTom Christie2013-06-29 21:34:47 +0100
committerTom Christie2013-06-29 21:34:47 +0100
commitab799ccc3ee473de61ec35c6f745c6952752c522 (patch)
tree353b50417cb0afbe722abed8651be47ed73400e0 /rest_framework/test.py
parent664f8c63655770cd90bdbd510b315bcd045b380a (diff)
downloaddjango-rest-framework-ab799ccc3ee473de61ec35c6f745c6952752c522.tar.bz2
Simplify APIClient implementation
Diffstat (limited to 'rest_framework/test.py')
-rw-r--r--rest_framework/test.py68
1 files changed, 14 insertions, 54 deletions
diff --git a/rest_framework/test.py b/rest_framework/test.py
index 08de2297..2e9cfe09 100644
--- a/rest_framework/test.py
+++ b/rest_framework/test.py
@@ -86,10 +86,6 @@ class ForceAuthClientHandler(ClientHandler):
self._force_auth_token = None
super(ForceAuthClientHandler, self).__init__(*args, **kwargs)
- def force_authenticate(self, user=None, token=None):
- self._force_auth_user = user
- self._force_auth_token = token
-
def get_response(self, request):
# This is the simplest place we can hook into to patch the
# request object.
@@ -108,56 +104,20 @@ class APIClient(APIRequestFactory, DjangoClient):
self._credentials = {}
def credentials(self, **kwargs):
+ """
+ Sets headers that will be used on every outgoing request.
+ """
self._credentials = kwargs
def authenticate(self, user=None, token=None):
- self.handler.force_authenticate(user, token)
-
- def get(self, path, data={}, follow=False, **extra):
- extra.update(self._credentials)
- response = super(APIClient, self).get(path, data=data, **extra)
- if follow:
- response = self._handle_redirects(response, **extra)
- return response
-
- def head(self, path, data={}, follow=False, **extra):
- extra.update(self._credentials)
- response = super(APIClient, self).head(path, data=data, **extra)
- if follow:
- response = self._handle_redirects(response, **extra)
- return response
-
- def post(self, path, data=None, format=None, content_type=None, follow=False, **extra):
- extra.update(self._credentials)
- response = super(APIClient, self).post(path, data=data, format=format, content_type=content_type, **extra)
- if follow:
- response = self._handle_redirects(response, **extra)
- return response
-
- def put(self, path, data=None, format=None, content_type=None, follow=False, **extra):
- extra.update(self._credentials)
- response = super(APIClient, self).post(path, data=data, format=format, content_type=content_type, **extra)
- if follow:
- response = self._handle_redirects(response, **extra)
- return response
-
- def patch(self, path, data=None, format=None, content_type=None, follow=False, **extra):
- extra.update(self._credentials)
- response = super(APIClient, self).post(path, data=data, format=format, content_type=content_type, **extra)
- if follow:
- response = self._handle_redirects(response, **extra)
- return response
-
- def delete(self, path, data=None, format=None, content_type=None, follow=False, **extra):
- extra.update(self._credentials)
- response = super(APIClient, self).post(path, data=data, format=format, content_type=content_type, **extra)
- if follow:
- response = self._handle_redirects(response, **extra)
- return response
-
- def options(self, path, data=None, format=None, content_type=None, follow=False, **extra):
- extra.update(self._credentials)
- response = super(APIClient, self).post(path, data=data, format=format, content_type=content_type, **extra)
- if follow:
- response = self._handle_redirects(response, **extra)
- return response
+ """
+ Forcibly authenticates outgoing requests with the given
+ user and/or token.
+ """
+ self.handler._force_auth_user = user
+ self.handler._force_auth_token = token
+
+ def request(self, **request):
+ # Ensure that any credentials set get added to every request.
+ request.update(self._credentials)
+ return super(APIClient, self).request(**request)