Esempio n. 1
0
    def test_getPackageWithVersionForInstall(self):
        bs = BaseSystem()

        bs.packages['foo'] = PackageInfo('foo')
        assert 'foo' == bs.getPackageWithVersionForInstall('foo')

        bs.packages['foo'] = PackageInfo('foo', packageVersion='1')

        bs.os = 'fedora'
        assert 'foo-1*' == bs.getPackageWithVersionForInstall('foo')

        bs.os = 'ubuntu'
        assert 'foo=1*' == bs.getPackageWithVersionForInstall('foo')

        bs.packages['foo'] = PackageInfo('foo', packageVersion='1*')
        assert 'foo=1**' == bs.getPackageWithVersionForInstall('foo')
Esempio n. 2
0
 def setUp(self):
     self.firewall = Firewall()
     self.firewall.verboseLevel = 0
Esempio n. 3
0
class FirewallTest(unittest.TestCase):

    def setUp(self):
        self.firewall = Firewall()
        self.firewall.verboseLevel = 0

    def tearDown(self):
        self.firewall = None

    def testFromRuleSpecToRuleAndTable(self):
        ruleSpec = {'rule':'foo'}
        rule, table = self.firewall._getRuleAndTableFromRuleSpec(ruleSpec)
        self.assertEqual(rule, 'foo')
        self.assertEqual(table, 'filter')

        ruleSpec = {'rule':'foo', 'table':'bar'}
        rule, table = self.firewall._getRuleAndTableFromRuleSpec(ruleSpec)
        self.assertEqual(rule, 'foo')
        self.assertEqual(table, 'bar')

    def testSetDeleteFirewallRule(self):
        ruleSpec = {'rule':'-A INPUT -p udp -m udp --dport 65534 -j ACCEPT'}

        self.firewall._setFirewallRule(ruleSpec)
        self.assertTrue(self._isIptablesRuleSet(ruleSpec['rule'], 'filter'))

        self.firewall._deleteFirewallRule(ruleSpec)
        self.assertTrue(not self._isIptablesRuleSet(ruleSpec['rule'], 'filter'))

    def _isIptablesRuleSet(self, rule, table):
        rules = commands.getoutput('iptables-save -t %s' % table)
        if re.search(rule, rules, re.M):
            return True
        return False
    
    def testConfigureIpForwarding(self):
        fileEnable_saved = system.FILE_IPFORWARD_HOT_ENABLE
        filePersist_saved = system.FILE_IPFORWARD_PERSIST

        system.FILE_IPFORWARD_HOT_ENABLE = tempfile.mkstemp()[1]
        open(system.FILE_IPFORWARD_HOT_ENABLE, 'w').write("1")
        
        system.FILE_IPFORWARD_PERSIST = tempfile.mkstemp()[1]

        fileEnable = system.FILE_IPFORWARD_HOT_ENABLE
        filePersist = system.FILE_IPFORWARD_PERSIST
        
        savedState = _fileRead(fileEnable) 
        savedConfig = _fileRead(filePersist)
        
        enableIpForwarding()
        
        self.assertTrue(self._isIpForwardingEnabled(fileEnable))
        self.assertTrue(self._isIpForwardingPersistedAndOn(filePersist))

        system.FILE_IPFORWARD_HOT_ENABLE = fileEnable_saved
        system.FILE_IPFORWARD_PERSIST = filePersist_saved

        fileEnable = system.FILE_IPFORWARD_HOT_ENABLE
        filePersist = system.FILE_IPFORWARD_PERSIST
        
    def _isIpForwardingEnabled(self, filename):
        return _fileRead(filename).strip() == '1'
        
    def _isIpForwardingPersistedAndOn(self, filename):
        config = _fileRead(filename).split('\n')
        for line in config:
            if line.startswith('net.ipv4.ip_forward'):
                return line.split('=')[1].strip() == '1'
        return False