def test_password_in_batched_json(self): mock_request = Mock() mock_request.META = { DJANGO_META_CONTENT_TYPE: 'application/json; charset=UTF-8' } d = [{ 'x': 'testunmasked', 'username': '******', 'password': '******' }, { 'x': 'testunmasked', 'username': '******', 'password': '******' }] mock_request.body = json.dumps(d) mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertIn('testunmasked', raw_body) self.assertNotIn('test_username', raw_body) self.assertNotIn('testpassword', raw_body) self.assertNotIn('test_username', body[0]) self.assertNotIn('testpassword', body[0]) self.assertNotIn('test_username', body[1]) self.assertNotIn('testpassword', body[1]) for data in [json.loads(body), json.loads(raw_body)]: for datum in data: self.assertEqual(datum['username'], RequestModelFactory.CLEANSED_SUBSTITUTE) self.assertEqual(datum['password'], RequestModelFactory.CLEANSED_SUBSTITUTE) self.assertEqual(datum['x'], 'testunmasked')
def test_password_in_batched_json(self): mock_request = Mock() mock_request.META = { DJANGO_META_CONTENT_TYPE: 'application/json; charset=UTF-8' } d = [{ 'x': 'testunmasked', 'username': '******', 'password': '******' }, { 'x': 'testunmasked', 'username': '******', 'password': '******' }] mock_request.body = json.dumps(d) mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertIn('testunmasked', raw_body) self.assertNotIn('test_username', raw_body) self.assertNotIn('testpassword', raw_body) self.assertNotIn('test_username', body[0]) self.assertNotIn('testpassword', body[0]) self.assertNotIn('test_username', body[1]) self.assertNotIn('testpassword', body[1])
def test_plain(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'text/plain'} mock_request.body = 'sdfsdf' mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertFalse(body) self.assertEqual(raw_body, mock_request.body)
def test_plain(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'text/plain'} mock_request.body = 'sdfsdf' mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertFalse(body) self.assertEqual(raw_body, mock_request.body)
def test_invalid_encoding_json(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'application/json; charset=asdas-8'} d = {'x': u'语'} mock_request.body = json.dumps(d).encode('UTF-8') mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertDictEqual(json.loads(body, encoding='UTF-8'), d) self.assertEqual(raw_body, raw_body)
def test_utf_json_not_encoded(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'application/json; charset=UTF-8'} d = {'x': u'语'} mock_request.body = json.dumps(d) mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertDictEqual(json.loads(body), d) self.assertEqual(raw_body, mock_request.body)
def test_invalid_encoding_json(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'application/json; charset=asdas-8'} d = {'x': u'语'} mock_request.body = json.dumps(d).encode('UTF-8') mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertDictEqual(json.loads(body), d) self.assertEqual(raw_body, raw_body)
def test_utf_json_encoded_no_charset(self): """default to UTF-8""" mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'application/json'} d = {'x': u'语'} mock_request.body = json.dumps(d).encode('UTF-8') mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertDictEqual(json.loads(body), d) self.assertEqual(raw_body, mock_request.body.decode('UTF-8'))
def test_utf_json_encoded_no_charset(self): """default to UTF-8""" mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'application/json'} d = {'x': u'语'} mock_request.body = json.dumps(d).encode('UTF-8') mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertDictEqual(json.loads(body), d) self.assertEqual(raw_body, mock_request.body.decode('UTF-8'))
def test_password_in_body(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'text/plain'} mock_request.body = 'username=test_username&unmasked=testunmasked&password=testpassword' mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertIn('testunmasked', raw_body) self.assertNotIn('test_username', raw_body) self.assertNotIn('testpassword', raw_body) self.assertNotIn('test_username', body) self.assertNotIn('testpassword', body)
def test_password_in_body(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'text/plain'} mock_request.body = 'username=test_username&unmasked=testunmasked&password=testpassword' mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertIn('testunmasked', raw_body) self.assertNotIn('test_username', raw_body) self.assertNotIn('testpassword', raw_body) self.assertNotIn('test_username', body) self.assertNotIn('testpassword', body)
def test_password_in_json(self): mock_request = Mock() mock_request.META = {DJANGO_META_CONTENT_TYPE: 'application/json; charset=UTF-8'} d = {'x': 'testunmasked', 'username': '******', 'password': '******'} mock_request.body = json.dumps(d) mock_request.get = mock_request.META.get factory = RequestModelFactory(mock_request) body, raw_body = factory.body() self.assertIn('testunmasked', raw_body) self.assertNotIn('test_username', raw_body) self.assertNotIn('testpassword', raw_body) self.assertNotIn('test_username', body) self.assertNotIn('testpassword', body)