def testDiff(self): configA = Config(self.tempdir) configA.setNetwork(NETWORK, NETWORK_ATTRIBUTES) configA.setBonding(BONDING, BONDING_ATTRIBUTES) configA.set_device(DEVICE, DEVICE_ATTRIBUTES) configB = Config(self.tempdir) configB.setNetwork(NETWORK, NETWORK_ATTRIBUTES) configB.setBonding(BONDING, BONDING_ATTRIBUTES) configB.set_device(DEVICE, DEVICE_ATTRIBUTES) diff = configA.diffFrom(configB) self.assertEqual(diff.networks, {}) self.assertEqual(diff.bonds, {}) self.assertEqual(diff.devices, {}) EVIL_NETWORK = 'jarjar' EVIL_BONDING_ATTRIBUTES = {'options': 'mode=3', 'nics': ['eth3']} EVIL_DEVICE = 'devdev' configB.setNetwork(EVIL_NETWORK, NETWORK_ATTRIBUTES) configB.setBonding(BONDING, EVIL_BONDING_ATTRIBUTES) configB.set_device(EVIL_DEVICE, DEVICE_ATTRIBUTES) diff = configA.diffFrom(configB) self.assertEqual(diff.networks[EVIL_NETWORK], {'remove': True}) self.assertEqual(diff.bonds[BONDING], BONDING_ATTRIBUTES) # Devices diff is not yet supported. self.assertEqual(diff.devices, {}) configB.removeNetwork(NETWORK) diff = configA.diffFrom(configB) self.assertIn(NETWORK, diff.networks)
def testSaveAndDelete(self): persistence = Config(self.tempdir) persistence.setNetwork(NETWORK, NETWORK_ATTRIBUTES) persistence.setBonding(BONDING, BONDING_ATTRIBUTES) persistence.set_device(DEVICE, DEVICE_ATTRIBUTES) net_path = os.path.join(self.tempdir, NETCONF_NETS, NETWORK) bond_path = os.path.join(self.tempdir, NETCONF_BONDS, BONDING) device_path = os.path.join(self.tempdir, NETCONF_DEVS, DEVICE) self.assertFalse(os.path.exists(net_path)) self.assertFalse(os.path.exists(bond_path)) self.assertFalse(os.path.exists(device_path)) persistence.save() self.assertTrue(os.path.exists(net_path)) self.assertTrue(os.path.exists(bond_path)) self.assertTrue(os.path.exists(device_path)) persistence.delete() self.assertFalse(os.path.exists(net_path)) self.assertFalse(os.path.exists(bond_path)) self.assertFalse(os.path.exists(device_path))
def testSaveAndDelete(self, netconf_dir): persistence = Config(netconf_dir) persistence.setNetwork(NETWORK, NETWORK_ATTRIBUTES) persistence.setBonding(BONDING, BONDING_ATTRIBUTES) persistence.set_device(DEVICE, DEVICE_ATTRIBUTES) net_path = os.path.join(netconf_dir, NETCONF_NETS, NETWORK) bond_path = os.path.join(netconf_dir, NETCONF_BONDS, BONDING) device_path = os.path.join(netconf_dir, NETCONF_DEVS, DEVICE) assert not os.path.exists(net_path) assert not os.path.exists(bond_path) assert not os.path.exists(device_path) persistence.save() assert os.path.exists(net_path) assert os.path.exists(bond_path) assert os.path.exists(device_path) persistence.delete() assert not os.path.exists(net_path) assert not os.path.exists(bond_path) assert not os.path.exists(device_path)
def testSetAndRemoveDevice(self): persistence = Config(self.tempdir) persistence.set_device(DEVICE, DEVICE_ATTRIBUTES) self.assertEqual(persistence.devices[DEVICE], DEVICE_ATTRIBUTES) persistence.remove_device(DEVICE) self.assertTrue(persistence.devices.get(DEVICE) is None)
def testSetAndRemoveDevice(self, netconf_dir): persistence = Config(netconf_dir) persistence.set_device(DEVICE, DEVICE_ATTRIBUTES) assert persistence.devices[DEVICE] == DEVICE_ATTRIBUTES persistence.remove_device(DEVICE) assert persistence.devices.get(DEVICE) is None