def test_overloaded_behaviour_allows_content_tunnelling(self): """Ensure request.DATA returns content for overloaded POST request""" content = "qwerty" content_type = "text/plain" view = RequestMixin() form_data = {view._CONTENT_PARAM: content, view._CONTENTTYPE_PARAM: content_type} view.request = self.req.post("/", form_data) view.parsers = (PlainTextParser,) self.assertEqual(view.DATA, content)
def test_accessing_data_after_post_form(self): """Ensures request.DATA can be accessed after request.POST in form request""" form_data = {"qwerty": "uiop"} view = RequestMixin() view.parsers = (FormParser, MultiPartParser) view.request = self.req.post("/", data=form_data) self.assertEqual(view.request.POST.items(), form_data.items()) self.assertEqual(view.DATA.items(), form_data.items())
def test_accessing_post_after_data_form(self): """Ensures request.POST can be accessed after request.DATA in form request""" form_data = {'qwerty': 'uiop'} view = RequestMixin() view.parsers = (FormParser, MultiPartParser) view.request = self.req.post('/', data=form_data) self.assertEqual(view.DATA.items(), form_data.items()) self.assertEqual(view.request.POST.items(), form_data.items())
def test_accessing_post_after_data_form(self): """Ensures request.POST can be accessed after request.DATA in form request""" form_data = {'qwerty': 'uiop'} view = RequestMixin() view.parsers = (FormParser, MultiPartParser) view.request = self.req.post('/', data=form_data) self.assertEqual(list(view.DATA.items()), list(form_data.items())) self.assertEqual(list(view.request.POST.items()), list(form_data.items()))
def test_overloaded_behaviour_allows_content_tunnelling(self): """Ensure request.DATA returns content for overloaded POST request""" content = 'qwerty' content_type = 'text/plain' view = RequestMixin() form_data = {view._CONTENT_PARAM: content, view._CONTENTTYPE_PARAM: content_type} view.request = self.req.post('/', form_data) view.parsers = (PlainTextParser,) self.assertEqual(view.DATA, content)
def test_accessing_data_after_post_for_json(self): """Ensures request.DATA can be accessed after request.POST in json request""" import json data = {'qwerty': 'uiop'} content = json.dumps(data) content_type = 'application/json' view = RequestMixin() view.parsers = (JSONParser, ) view.request = self.req.post('/', content, content_type=content_type) self.assertEqual(list(view.DATA.items()), list(data.items()))
def test_accessing_data_after_post_for_json(self): """Ensures request.DATA can be accessed after request.POST in json request""" import json data = {"qwerty": "uiop"} content = json.dumps(data) content_type = "application/json" view = RequestMixin() view.parsers = (JSONParser,) view.request = self.req.post("/", content, content_type=content_type) self.assertEqual(list(view.DATA.items()), list(data.items()))
def test_accessing_post_after_data_for_json(self): """Ensures request.POST can be accessed after request.DATA in json request""" from django.utils import simplejson as json data = {"qwerty": "uiop"} content = json.dumps(data) content_type = "application/json" view = RequestMixin() view.parsers = (JSONParser,) view.request = self.req.post("/", content, content_type=content_type) self.assertEqual(view.DATA.items(), data.items()) self.assertEqual(view.request.POST.items(), [])
def test_accessing_post_after_data_for_json(self): """Ensures request.POST can be accessed after request.DATA in json request""" from django.utils import simplejson as json data = {'qwerty': 'uiop'} content = json.dumps(data) content_type = 'application/json' view = RequestMixin() view.parsers = (JSONParser, ) view.request = self.req.post('/', content, content_type=content_type) self.assertEqual(view.DATA.items(), data.items()) self.assertEqual(view.request.POST.items(), [])
def test_accessing_data_after_post_for_overloaded_json(self): """Ensures request.DATA can be accessed after request.POST in overloaded json request""" from django.utils import simplejson as json data = {"qwerty": "uiop"} content = json.dumps(data) content_type = "application/json" view = RequestMixin() view.parsers = (JSONParser,) form_data = {view._CONTENT_PARAM: content, view._CONTENTTYPE_PARAM: content_type} view.request = self.req.post("/", data=form_data) self.assertEqual(view.request.POST.items(), form_data.items()) self.assertEqual(view.DATA.items(), data.items())
def test_accessing_data_after_post_for_overloaded_json(self): """Ensures request.DATA can be accessed after request.POST in overloaded json request""" from django.utils import simplejson as json data = {'qwerty': 'uiop'} content = json.dumps(data) content_type = 'application/json' view = RequestMixin() view.parsers = (JSONParser,) form_data = {view._CONTENT_PARAM: content, view._CONTENTTYPE_PARAM: content_type} view.request = self.req.post('/', data=form_data) self.assertEqual(view.request.POST.items(), form_data.items()) self.assertEqual(view.DATA.items(), data.items())
def test_accessing_data_after_post_for_json(self): """Ensures request.DATA can be accessed after request.POST in json request""" from django.utils import simplejson as json data = {'qwerty': 'uiop'} content = json.dumps(data) content_type = 'application/json' view = RequestMixin() view.parsers = (JSONParser,) view.request = self.req.post('/', content, content_type=content_type) post_items = view.request.POST.items() self.assertEqual(len(post_items), 1) self.assertEqual(len(post_items[0]), 2) self.assertEqual(post_items[0][0], content) self.assertEqual(view.DATA.items(), data.items())