示例#1
0
 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))
示例#2
0
    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)
示例#3
0
 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))
示例#4
0
    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)
示例#5
0
 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)
示例#6
0
 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)
示例#7
0
    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)
示例#8
0
 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)
示例#9
0
 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)