From b41ec30ff744eb1026d7fb451ac526b61e729ebe Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Fri, 9 Sep 2016 17:05:32 +0100 Subject: [PATCH] Py3 compat --- tests/test_api_client.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/tests/test_api_client.py b/tests/test_api_client.py index b68ad94f8..9daf3f3fe 100644 --- a/tests/test_api_client.py +++ b/tests/test_api_client.py @@ -61,13 +61,19 @@ def get_schema(): ) +def _iterlists(querydict): + if hasattr(querydict, 'iterlists'): + return querydict.iterlists() + return querydict.lists() + + def _get_query_params(request): # Return query params in a plain dict, using a list value if more # than one item is present for a given key. return { key: (value[0] if len(value) == 1 else value) for key, value in - request.query_params.iterlists() + _iterlists(request.query_params) } @@ -76,11 +82,11 @@ def _get_data(request): return request.data # Coerce multidict into regular dict, and remove files to # make assertions simpler. - if hasattr(request.data, 'iterlists'): + if hasattr(request.data, 'iterlists') or hasattr(request.data, 'lists'): # Use a list value if a QueryDict contains multiple items for a key. return { key: value[0] if len(value) == 1 else value - for key, value in request.data.iterlists() + for key, value in _iterlists(request.data) if key not in request.FILES } return {