]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
fixes typo in ensure_namespace
authorMark McClain <mark.mcclain@dreamhost.com>
Fri, 10 Aug 2012 18:24:17 +0000 (14:24 -0400)
committerMark McClain <mark.mcclain@dreamhost.com>
Fri, 10 Aug 2012 18:27:28 +0000 (14:27 -0400)
bug 1035425

There was an uncheck branch in ensure_namespace that used the wrong
class name.  This fixes that bug and adds better tests.

Change-Id: I0c22e70938305e180084de4bf9a700aebf512645

quantum/agent/linux/ip_lib.py
quantum/tests/unit/test_linux_ip_lib.py

index 26ee281ec9bcb109418e3ad86e438923d65364ae..2eb254f48df4891cc22efa8b11d49f7fd5aaf023 100644 (file)
@@ -90,7 +90,7 @@ class IPWrapper(SubProcessBase):
             lo = ip.device('lo')
             lo.link.set_up()
         else:
-            ip = IP(self.root_helper, name)
+            ip = IPWrapper(self.root_helper, name)
         return ip
 
     def add_device_to_namespace(self, device):
index 6b4fe086d013feaf2cb6d372290950218822a621..ba6cb00e33ed0aa2db0424475a3902131eebf02a 100644 (file)
@@ -15,9 +15,8 @@
 #    License for the specific language governing permissions and limitations
 #    under the License.
 
-import unittest
-
 import mock
+import unittest2 as unittest
 
 from quantum.agent.linux import ip_lib
 from quantum.agent.linux import utils
@@ -174,11 +173,21 @@ class TestIpWrapper(unittest.TestCase):
 
     def test_ensure_namespace(self):
         with mock.patch.object(ip_lib, 'IPDevice') as ip_dev:
+            ip = ip_lib.IPWrapper('sudo')
+            with mock.patch.object(ip.netns, 'exists') as ns_exists:
+                ns_exists.return_value = False
+                ns = ip.ensure_namespace('ns')
+                self.execute.assert_has_calls(
+                    [mock.call([], 'netns', ('add', 'ns'), 'sudo', None)])
+                ip_dev.assert_has_calls([mock.call('lo', 'sudo', 'ns'),
+                                         mock.call().link.set_up()])
+
+    def test_ensure_namespace_existing(self):
+        with mock.patch.object(ip_lib, 'IpNetnsCommand') as ip_ns_cmd:
+            ip_ns_cmd.exists.return_value = True
             ns = ip_lib.IPWrapper('sudo').ensure_namespace('ns')
-            self.execute.assert_has_calls([mock.call('o', 'netns', ('list',),
-                                                     'sudo', None)])
-            ip_dev.assert_has_calls([mock.call('lo', 'sudo', 'ns'),
-                                     mock.call().link.set_up()])
+            self.assertFalse(self.execute.called)
+            self.assertEqual(ns.namespace, 'ns')
 
     def test_add_device_to_namespace(self):
         dev = mock.Mock()