summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/unittests/test_distros/test_netconfig.py40
1 files changed, 32 insertions, 8 deletions
diff --git a/tests/unittests/test_distros/test_netconfig.py b/tests/unittests/test_distros/test_netconfig.py
index 083ae34a..9954841b 100644
--- a/tests/unittests/test_distros/test_netconfig.py
+++ b/tests/unittests/test_distros/test_netconfig.py
@@ -37,7 +37,7 @@ class WriteBuffer(object):
def write(self, text):
self.buffer.write(text)
-
+
def __str__(self):
return self.buffer.getvalue()
@@ -63,6 +63,7 @@ class TestNetCfgDistro(MockerTestCase):
self.mocker.result(False)
write_bufs = {}
+
def replace_write(filename, content, mode=0644, omode="wb"):
buf = WriteBuffer()
buf.mode = mode
@@ -81,6 +82,18 @@ class TestNetCfgDistro(MockerTestCase):
self.assertEquals(str(write_buf).strip(), BASE_NET_CFG.strip())
self.assertEquals(write_buf.mode, 0644)
+ def assertCfgEquals(self, blob1, blob2):
+ cfg_tester = distros.rhel.QuotingConfigObj
+ b1 = dict(cfg_tester(blob1.strip().splitlines()))
+ b2 = dict(cfg_tester(blob2.strip().splitlines()))
+ self.assertEquals(b1, b2)
+ for (k, v) in b1.items():
+ self.assertIn(k, b2)
+ for (k, v) in b2.items():
+ self.assertIn(k, b1)
+ for (k, v) in b1.items():
+ self.assertEquals(v, b2[k])
+
def test_simple_write_rh(self):
rh_distro = self._get_distro('rhel')
write_mock = self.mocker.replace(util.write_file,
@@ -91,6 +104,7 @@ class TestNetCfgDistro(MockerTestCase):
spec=False, passthrough=False)
write_bufs = {}
+
def replace_write(filename, content, mode=0644, omode="wb"):
buf = WriteBuffer()
buf.mode = mode
@@ -109,25 +123,27 @@ class TestNetCfgDistro(MockerTestCase):
for _i in range(0, 3):
write_mock(mocker.ARGS)
self.mocker.call(replace_write)
+
+ write_mock(mocker.ARGS)
+ self.mocker.call(replace_write)
self.mocker.replay()
rh_distro.apply_network(BASE_NET_CFG, False)
- self.assertEquals(len(write_bufs), 3)
+
+ self.assertEquals(len(write_bufs), 4)
self.assertIn('/etc/sysconfig/network-scripts/ifcfg-lo', write_bufs)
write_buf = write_bufs['/etc/sysconfig/network-scripts/ifcfg-lo']
expected_buf = '''
-# Created by cloud-init
DEVICE="lo"
ONBOOT=yes
'''
- self.assertEquals(str(write_buf).strip(), expected_buf.strip())
+ self.assertCfgEquals(expected_buf, str(write_buf))
self.assertEquals(write_buf.mode, 0644)
self.assertIn('/etc/sysconfig/network-scripts/ifcfg-eth0', write_bufs)
write_buf = write_bufs['/etc/sysconfig/network-scripts/ifcfg-eth0']
expected_buf = '''
-# Created by cloud-init
DEVICE="eth0"
BOOTPROTO="static"
NETMASK="255.255.255.0"
@@ -136,16 +152,24 @@ ONBOOT=yes
GATEWAY="192.168.1.254"
BROADCAST="192.168.1.0"
'''
- self.assertEquals(str(write_buf).strip(), expected_buf.strip())
+ self.assertCfgEquals(expected_buf, str(write_buf))
self.assertEquals(write_buf.mode, 0644)
self.assertIn('/etc/sysconfig/network-scripts/ifcfg-eth1', write_bufs)
write_buf = write_bufs['/etc/sysconfig/network-scripts/ifcfg-eth1']
expected_buf = '''
-# Created by cloud-init
DEVICE="eth1"
BOOTPROTO="dhcp"
ONBOOT=yes
'''
- self.assertEquals(str(write_buf).strip(), expected_buf.strip())
+ self.assertCfgEquals(expected_buf, str(write_buf))
+ self.assertEquals(write_buf.mode, 0644)
+
+ self.assertIn('/etc/sysconfig/network', write_bufs)
+ write_buf = write_bufs['/etc/sysconfig/network']
+ expected_buf = '''
+# Created by cloud-init v. 0.7
+NETWORKING=yes
+'''
+ self.assertCfgEquals(expected_buf, str(write_buf))
self.assertEquals(write_buf.mode, 0644)