Skip to content

Commit

Permalink
tests/firewall: added test for /dns/[ip]/[domain] info
Browse files Browse the repository at this point in the history
  • Loading branch information
3hhh committed May 16, 2021
1 parent 3230f47 commit adfe982
Showing 1 changed file with 15 additions and 5 deletions.
20 changes: 15 additions & 5 deletions qubesagent/test_firewall.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def read(self, key):

def rm(self, path):
if path.endswith('/'):
for key in self.entries:
for key in list(self.entries):
if key.startswith(path):
self.entries.pop(key)
else:
Expand Down Expand Up @@ -166,7 +166,7 @@ def dns_addresses(family=None):
else:
return ['2001::1', '2001::2']

class WorkerTestCase(TestCase):
class WorkerCommon(object):
def assertPrepareRulesDnsRet(self, dns_ret, expected_domain, family):
self.assertEqual(dns_ret.keys(), {expected_domain})
self.assertIsInstance(dns_ret[expected_domain], set)
Expand All @@ -179,7 +179,18 @@ def assertPrepareRulesDnsRet(self, dns_ret, expected_domain, family):
else:
raise ValueError()

class TestIptablesWorker(WorkerTestCase):
def test_701_dns_info(self):
rules = [
{'action': 'accept', 'proto': 'tcp',
'dstports': '80-80', 'dsthost': 'ripe.net'},
{'action': 'drop'},
]
self.obj.apply_rules('10.137.0.1', rules)
self.assertIsNotNone(self.obj.qdb.read('/dns/10.137.0.1/ripe.net'))
self.obj.apply_rules('10.137.0.1', [{'action': 'drop'}])
self.assertIsNone(self.obj.qdb.read('/dns/10.137.0.1/ripe.net'))

class TestIptablesWorker(TestCase, WorkerCommon):
def setUp(self):
super(TestIptablesWorker, self).setUp()
self.obj = IptablesWorker()
Expand Down Expand Up @@ -398,8 +409,7 @@ def test_010_update_connected_ips_missing(self):
['-t', 'mangle', '-F', 'QBS-POSTROUTING'],
])


class TestNftablesWorker(WorkerTestCase):
class TestNftablesWorker(TestCase, WorkerCommon):
def setUp(self):
super(TestNftablesWorker, self).setUp()
self.obj = NftablesWorker()
Expand Down

0 comments on commit adfe982

Please sign in to comment.