def test_validate_request_errors(self, method, query, data, invalid_params): client = Client() path = reverse('validate') response = client.generic( method=method, path='{path}?{query}'.format( path=path, query=urllib.parse.urlencode(query), ), data=json.dumps(data), content_type='application/json', ) self.assertEqual( 400, response.status_code, ) data = json.loads(response.content.decode()) actual_invalid_params = data.get('error', {}).get('description', {}).keys() self.assertSetEqual(invalid_params, set(actual_invalid_params))