From 626c56bff4d7209c687d71ce3487c60262c70e30 Mon Sep 17 00:00:00 2001 From: Ross Crawford-d'Heureuse Date: Thu, 31 Oct 2013 14:53:04 +0100 Subject: [PATCH] made request pass-in able --- rest_framework/test.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rest_framework/test.py b/rest_framework/test.py index 234d10a4a..180ebca7c 100644 --- a/rest_framework/test.py +++ b/rest_framework/test.py @@ -116,8 +116,13 @@ class ForceAuthClientHandler(ClientHandler): class APIClient(APIRequestFactory, DjangoClient): + request = None + def __init__(self, enforce_csrf_checks=False, **defaults): + self.request = defaults.get('request') if 'request' in defaults else None + super(APIClient, self).__init__(**defaults) + self.handler = ForceAuthClientHandler(enforce_csrf_checks) self._credentials = {} @@ -138,6 +143,9 @@ class APIClient(APIRequestFactory, DjangoClient): self.logout() # Also clear any possible session info if required def request(self, **kwargs): + if self.request is not None: + return self.request + # Ensure that any credentials set get added to every request. kwargs.update(self._credentials) return super(APIClient, self).request(**kwargs)