Fix a recent ipv6 UT regression

This fixes UT failures on systems without the procfs entry
by adding appropriate mocking.  The problem introduced by
the following change:
    https://review.openstack.org/#/c/116826/
    commit 0c963f6140

Also, add a test for the case which the change in question fixed.

Closes-Bug: #1363805
Related-Bug: #1361542
Change-Id: I72842c3446f3275e2288adc411540ab036025ed0
This commit is contained in:
YAMAMOTO Takashi 2014-09-01 13:39:12 +09:00
parent cde6a03d2a
commit 6f5f148723
1 changed files with 8 additions and 0 deletions

View File

@ -57,6 +57,8 @@ class TestIsEnabled(base.BaseTestCase):
def setUp(self):
super(TestIsEnabled, self).setUp()
ipv6_utils._IS_IPV6_ENABLED = None
self.mock_exists = mock.patch("os.path.exists",
return_value=True).start()
mock_open = mock.patch("__builtin__.open").start()
self.mock_read = mock_open.return_value.__enter__.return_value.read
@ -70,6 +72,12 @@ class TestIsEnabled(base.BaseTestCase):
enabled = ipv6_utils.is_enabled()
self.assertFalse(enabled)
def test_disabled_non_exists(self):
self.mock_exists.return_value = False
enabled = ipv6_utils.is_enabled()
self.assertFalse(enabled)
self.assertFalse(self.mock_read.called)
def test_memoize(self):
self.mock_read.return_value = "0"
ipv6_utils.is_enabled()