← Back to team overview

cloud-init-dev team mailing list archive

[Merge] ~rjschwei/cloud-init:baseNetConfTestSUSE into cloud-init:master

 

Robert Schweikert has proposed merging ~rjschwei/cloud-init:baseNetConfTestSUSE into cloud-init:master.

Requested reviews:
  cloud-init commiters (cloud-init-dev)

For more details, see:
https://code.launchpad.net/~rjschwei/cloud-init/+git/cloud-init/+merge/333772

It's a start a basic test for network configuration on openSUSE & SLES
-- 
Your team cloud-init commiters is requested to review the proposed merge of ~rjschwei/cloud-init:baseNetConfTestSUSE into cloud-init:master.
diff --git a/tests/unittests/test_distros/test_netconfig.py b/tests/unittests/test_distros/test_netconfig.py
index c4bd11b..75bc1c3 100644
--- a/tests/unittests/test_distros/test_netconfig.py
+++ b/tests/unittests/test_distros/test_netconfig.py
@@ -774,4 +774,67 @@ ifconfig_vtnet0="DHCP"
             self.assertCfgEquals(expected_buf, str(write_buf))
             self.assertEqual(write_buf.mode, 0o644)
 
+    def test_simple_write_os(self):
+        rh_distro = self._get_distro('opensuse')
+
+        write_bufs = {}
+
+        def replace_write(filename, content, mode=0o644, omode="wb"):
+            buf = WriteBuffer()
+            buf.mode = mode
+            buf.omode = omode
+            buf.write(content)
+            write_bufs[filename] = buf
+
+        with ExitStack() as mocks:
+            mocks.enter_context(
+                mock.patch.object(util, 'write_file', replace_write))
+            mocks.enter_context(
+                mock.patch.object(util, 'load_file', return_value=''))
+            mocks.enter_context(
+                mock.patch.object(os.path, 'isfile', return_value=False))
+
+            rh_distro.apply_network(BASE_NET_CFG, False)
+
+            self.assertEqual(len(write_bufs), 4)
+            self.assertIn('/etc/sysconfig/network/ifcfg-lo',
+                          write_bufs)
+            write_buf = write_bufs['/etc/sysconfig/network/ifcfg-lo']
+            expected_buf = '''
+STARTMODE="auto"
+USERCONTROL="no"
+FIREWALL="no"
+'''
+            self.assertCfgEquals(expected_buf, str(write_buf))
+            self.assertEqual(write_buf.mode, 0o644)
+
+            self.assertIn('/etc/sysconfig/network/ifcfg-eth0',
+                          write_bufs)
+            write_buf = write_bufs['/etc/sysconfig/network/ifcfg-eth0']
+            expected_buf = '''
+BOOTPROTO="static"
+BROADCAST="192.168.1.0"
+GATEWAY="192.168.1.254"
+IPADDR="192.168.1.5"
+NETMASK="255.255.255.0"
+STARTMODE="auto"
+USERCONTROL="no"
+ETHTOOL_OPTIONS=""
+'''
+            self.assertCfgEquals(expected_buf, str(write_buf))
+            self.assertEqual(write_buf.mode, 0o644)
+
+            self.assertIn('/etc/sysconfig/network/ifcfg-eth1',
+                          write_bufs)
+            write_buf = write_bufs['/etc/sysconfig/network/ifcfg-eth1']
+            expected_buf = '''
+BOOTPROTO="dhcp"
+STARTMODE="auto"
+USERCONTROL="no"
+ETHTOOL_OPTIONS=""
+'''
+            self.assertCfgEquals(expected_buf, str(write_buf))
+            self.assertEqual(write_buf.mode, 0o644)
+
+
 # vi: ts=4 expandtab

Follow ups