def testSaveAndDelete(self): persistence = Config(self.tempdir) persistence.setNetwork(NETWORK, NETWORK_ATTRIBUTES) filePath = os.path.join(self.tempdir, 'nets', NETWORK) self.assertFalse(os.path.exists(filePath)) persistence.save() self.assertTrue(os.path.exists(filePath)) persistence.delete() self.assertFalse(os.path.exists(filePath))
def testInit(self): filePath = os.path.join(self.tempdir, 'nets', NETWORK) try: with open(filePath, 'w') as networkFile: json.dump(NETWORK_ATTRIBUTES, networkFile) persistence = Config(self.tempdir) self.assertEqual(persistence.networks[NETWORK], NETWORK_ATTRIBUTES) finally: rmFile(filePath)
def testDiff(self): configA = Config(self.tempdir) configA.setNetwork(NETWORK, NETWORK_ATTRIBUTES) configA.setBonding(BONDING, BONDING_ATTRIBUTES) configB = Config(self.tempdir) configB.setNetwork(NETWORK, NETWORK_ATTRIBUTES) configB.setBonding(BONDING, BONDING_ATTRIBUTES) diff = configA.diffFrom(configB) self.assertEqual(diff.networks, {}) self.assertEqual(diff.bonds, {}) EVIL_NETWORK = 'jarjar' EVIL_BONDING_ATTRIBUTES = {'options': 'mode=3', 'nics': ['eth3']} configB.setNetwork(EVIL_NETWORK, NETWORK_ATTRIBUTES) configB.setBonding(BONDING, EVIL_BONDING_ATTRIBUTES) diff = configA.diffFrom(configB) self.assertEqual(diff.networks[EVIL_NETWORK], {'remove': True}) self.assertEqual(diff.bonds[BONDING], BONDING_ATTRIBUTES) configB.removeNetwork(NETWORK) diff = configA.diffFrom(configB) self.assertIn(NETWORK, diff.networks)
def testSetAndRemoveBonding(self): persistence = Config(self.tempdir) persistence.setBonding(BONDING, BONDING_ATTRIBUTES) self.assertEqual(persistence.bonds[BONDING], BONDING_ATTRIBUTES) persistence.removeBonding(BONDING) self.assertTrue(persistence.bonds.get(BONDING) is None)
def testSetAndRemoveNetwork(self): persistence = Config(self.tempdir) persistence.setNetwork(NETWORK, NETWORK_ATTRIBUTES) self.assertEqual(persistence.networks[NETWORK], NETWORK_ATTRIBUTES) persistence.removeNetwork(NETWORK) self.assertTrue(persistence.networks.get(NETWORK) is None)