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')
def setUp(self): self.firewall = Firewall() self.firewall.verboseLevel = 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