def _extract_response_data(self, response): """Extract response data. :param response: Django http response object. :type response: django.http.HttpResponse :return: Extracted data. :rtype: dict """ try: content_type = response.get('Content-Type', '') ct = content_type.lower() if 'json' in ct: response_content = loads(response._container[0]) elif 'xml' in ct: response_content = response._container[0].decode('utf-8', errors='ignore') else: response_content = None except: response_content = None return { 'content': fix_dict(response_content), 'type': response.get('Content-Type', ''), 'status_code': response.status_code, }
def test_fix_dict(self): initial_dict = { 'foo.bar': 'foo', 'bar$foo': 'bar' } fixed_dict = utils.fix_dict(initial_dict) self.assertDictEqual(fixed_dict, {'foo_bar': 'foo', 'bar_foo': 'bar'})