From dea62e1593aa1facf49235e413400fa6f864e5d6 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Thu, 6 Mar 2014 15:09:16 +0100 Subject: [PATCH] Python3: fix test_stack_list_with_args() The expected_url in test_stack_list_with_args() does not always match the URL actually used in the code. This patch fixes this issue by: - using urlutils.urlencode() in both the code and the tests, so that changes in the urlencode() implementation do not affect the tests; - setting the PYTHONHASHSEED environment variable to 0 when running the tests, so that randomisation is disabled and urlutils.urlencode() has predictable results. Change-Id: I5b50bad98f5c237cdc12e4ab75f21917ca0ef30d --- heatclient/tests/test_shell.py | 8 +++++--- tox.ini | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/heatclient/tests/test_shell.py b/heatclient/tests/test_shell.py index cd33c1b6..6acdb647 100644 --- a/heatclient/tests/test_shell.py +++ b/heatclient/tests/test_shell.py @@ -392,9 +392,11 @@ class ShellTestUserPass(ShellBase): def test_stack_list_with_args(self): self._script_keystone_client() - expected_url = ('/stacks?' - 'status=COMPLETE&status=FAILED' - '&marker=fake_id&limit=2') + expected_url = '/stacks?%s' % urlutils.urlencode({ + 'limit': 2, + 'status': ['COMPLETE', 'FAILED'], + 'marker': 'fake_id', + }, True) fakes.script_heat_list(expected_url) self.m.ReplayAll() diff --git a/tox.ini b/tox.ini index 98100ae8..ced6c9ec 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,10 @@ minversion = 1.6 skipsdist = True [testenv] +# Set PYTHONHASHSEED to 0 so that randomisation is disabled and +# urlutils.urlencode() has predictable results. setenv = VIRTUAL_ENV={envdir} + PYTHONHASHSEED=0 usedevelop = True install_command = pip install -U {opts} {packages} deps = -r{toxinidir}/requirements.txt