From 5b44474a4ef25cf4b85814b5e485c64ec57764af Mon Sep 17 00:00:00 2001 From: Nikhil Manchanda Date: Fri, 29 Aug 2014 01:28:25 -0700 Subject: [PATCH] Fix unit tests to work with random PYTHONHASHSEED Fixed the unit tests that were failing with the random python hash seed value. Change-Id: I52afa7446cb2714fbab624d1515bcc6e9d6b98d8 Closes-bug: 1348818 --- tox.ini | 3 --- trove/tests/unittests/quota/test_quota.py | 30 ++++++++++------------- 2 files changed, 13 insertions(+), 20 deletions(-) diff --git a/tox.ini b/tox.ini index 1c03e29f0a..a21bd7f043 100644 --- a/tox.ini +++ b/tox.ini @@ -4,10 +4,7 @@ minversion = 1.6 skipsdist = True [testenv] -# Note the hash seed is set to 0 until trove unit tests can run with -# a random hash seed successfully. setenv = VIRTUAL_ENV={envdir} - PYTHONHASHSEED=0 usedevelop = True install_command = pip install -U {opts} {packages} deps = -r{toxinidir}/requirements.txt diff --git a/trove/tests/unittests/quota/test_quota.py b/trove/tests/unittests/quota/test_quota.py index c76283599e..04e60535c2 100644 --- a/trove/tests/unittests/quota/test_quota.py +++ b/trove/tests/unittests/quota/test_quota.py @@ -398,16 +398,14 @@ class DbQuotaDriverTest(testtools.TestCase): QuotaUsage.save = Mock() Reservation.create = Mock() + # Set up the deltas with the intention that after the reserve call + # the deltas should match usage_id + 1 for both instances and volumes delta = {'instances': 2, 'volumes': 3} self.driver.reserve(FAKE_TENANT1, resources, delta) - _, kw = Reservation.create.call_args_list[0] - self.assertEqual(1, kw['usage_id']) - self.assertEqual(2, kw['delta']) - self.assertEqual(Reservation.Statuses.RESERVED, kw['status']) - _, kw = Reservation.create.call_args_list[1] - self.assertEqual(2, kw['usage_id']) - self.assertEqual(3, kw['delta']) - self.assertEqual(Reservation.Statuses.RESERVED, kw['status']) + + for _, kw in Reservation.create.call_args_list: + self.assertEqual(kw['usage_id'] + 1, kw['delta']) + self.assertEqual(Reservation.Statuses.RESERVED, kw['status']) def test_reserve_resource_unknown(self): @@ -506,16 +504,14 @@ class DbQuotaDriverTest(testtools.TestCase): QuotaUsage.save = Mock() Reservation.create = Mock() - delta = {'instances': -1, 'volumes': -3} + # Set up the deltas with the intention that after the reserve call + # the deltas should match -usage_id for both instances and volumes + delta = {'instances': -1, 'volumes': -2} self.driver.reserve(FAKE_TENANT1, resources, delta) - _, kw = Reservation.create.call_args_list[0] - self.assertEqual(1, kw['usage_id']) - self.assertEqual(-1, kw['delta']) - self.assertEqual(Reservation.Statuses.RESERVED, kw['status']) - _, kw = Reservation.create.call_args_list[1] - self.assertEqual(2, kw['usage_id']) - self.assertEqual(-3, kw['delta']) - self.assertEqual(Reservation.Statuses.RESERVED, kw['status']) + + for _, kw in Reservation.create.call_args_list: + self.assertEqual(-kw['usage_id'], kw['delta']) + self.assertEqual(Reservation.Statuses.RESERVED, kw['status']) def test_commit(self):