Update firewall tests
This commit is contained in:
		
							parent
							
								
									bfe31cfec8
								
							
						
					
					
						commit
						c1d8d7bce1
					
				| @ -64,6 +64,7 @@ class FirewallWorker(qubesagent.firewall.FirewallWorker): | ||||
|         self.init_called = False | ||||
|         self.cleanup_called = False | ||||
|         self.user_script_called = False | ||||
|         self.update_connected_ips_called_with = [] | ||||
|         self.rules = {} | ||||
| 
 | ||||
|     def apply_rules(self, source_addr, rules): | ||||
| @ -78,6 +79,9 @@ class FirewallWorker(qubesagent.firewall.FirewallWorker): | ||||
|     def run_user_script(self): | ||||
|         self.user_script_called = True | ||||
| 
 | ||||
|     def update_connected_ips(self, family): | ||||
|         self.update_connected_ips_called_with.append(family) | ||||
| 
 | ||||
| 
 | ||||
| class IptablesWorker(qubesagent.firewall.IptablesWorker): | ||||
|     '''Override methods actually modifying system state to only log what | ||||
| @ -282,11 +286,17 @@ class TestIptablesWorker(TestCase): | ||||
|         self.assertEqual(self.obj.called_commands[4], [ | ||||
|             ['-F', 'QBS-FORWARD'], | ||||
|             ['-A', 'QBS-FORWARD', '!', '-i', 'vif+', '-j', 'RETURN'], | ||||
|             ['-A', 'QBS-FORWARD', '-j', 'DROP']]) | ||||
|             ['-A', 'QBS-FORWARD', '-j', 'DROP'], | ||||
|             ['-t', 'mangle', '-F', 'QBS-PREROUTING'], | ||||
|             ['-t', 'mangle', '-F', 'QBS-POSTROUTING'], | ||||
|         ]) | ||||
|         self.assertEqual(self.obj.called_commands[6], [ | ||||
|             ['-F', 'QBS-FORWARD'], | ||||
|             ['-A', 'QBS-FORWARD', '!', '-i', 'vif+', '-j', 'RETURN'], | ||||
|             ['-A', 'QBS-FORWARD', '-j', 'DROP']]) | ||||
|             ['-A', 'QBS-FORWARD', '-j', 'DROP'], | ||||
|             ['-t', 'mangle', '-F', 'QBS-PREROUTING'], | ||||
|             ['-t', 'mangle', '-F', 'QBS-POSTROUTING'], | ||||
|         ]) | ||||
| 
 | ||||
|     def test_007_cleanup(self): | ||||
|         self.obj.init() | ||||
| @ -300,18 +310,26 @@ class TestIptablesWorker(TestCase): | ||||
|         self.obj.cleanup() | ||||
|         self.assertEqual([self.obj.called_commands[4][0]] + | ||||
|                 sorted(self.obj.called_commands[4][1:], key=operator.itemgetter(1)), | ||||
|             [['-F', 'QBS-FORWARD'], | ||||
|             [ | ||||
|                 ['-F', 'QBS-FORWARD'], | ||||
|                 ['-F', 'chain-ip4-1'], | ||||
|                 ['-X', 'chain-ip4-1'], | ||||
|                 ['-F', 'chain-ip4-2'], | ||||
|                 ['-X', 'chain-ip4-2']]) | ||||
|                 ['-X', 'chain-ip4-2'], | ||||
|                 ['-t', 'mangle', '-F', 'QBS-PREROUTING'], | ||||
|                 ['-t', 'mangle', '-F', 'QBS-POSTROUTING'], | ||||
|             ]) | ||||
|         self.assertEqual([self.obj.called_commands[6][0]] + | ||||
|                 sorted(self.obj.called_commands[6][1:], key=operator.itemgetter(1)), | ||||
|             [['-F', 'QBS-FORWARD'], | ||||
|             [ | ||||
|                 ['-F', 'QBS-FORWARD'], | ||||
|                 ['-F', 'chain-ip6-1'], | ||||
|                 ['-X', 'chain-ip6-1'], | ||||
|                 ['-F', 'chain-ip6-2'], | ||||
|                 ['-X', 'chain-ip6-2']]) | ||||
|                 ['-X', 'chain-ip6-2'], | ||||
|                 ['-t', 'mangle', '-F', 'QBS-PREROUTING'], | ||||
|                 ['-t', 'mangle', '-F', 'QBS-POSTROUTING'], | ||||
|             ]) | ||||
| 
 | ||||
| 
 | ||||
| class TestNftablesWorker(TestCase): | ||||
| @ -450,6 +468,14 @@ class TestNftablesWorker(TestCase): | ||||
|             '    ct state established,related accept\n' | ||||
|             '    meta iifname != "vif*" accept\n' | ||||
|             '  }\n' | ||||
|             '  chain prerouting {\n' | ||||
|             '    type filter hook prerouting priority 0;\n' | ||||
|             '    policy accept;\n' | ||||
|             '  }\n' | ||||
|             '  chain postrouting {\n' | ||||
|             '    type filter hook postrouting priority 0;\n' | ||||
|             '    policy accept;\n' | ||||
|             '  }\n' | ||||
|             '}\n' | ||||
|             'table ip6 qubes-firewall {\n' | ||||
|             '  chain forward {\n' | ||||
| @ -458,6 +484,14 @@ class TestNftablesWorker(TestCase): | ||||
|             '    ct state established,related accept\n' | ||||
|             '    meta iifname != "vif*" accept\n' | ||||
|             '  }\n' | ||||
|             '  chain prerouting {\n' | ||||
|             '    type filter hook prerouting priority 0;\n' | ||||
|             '    policy accept;\n' | ||||
|             '  }\n' | ||||
|             '  chain postrouting {\n' | ||||
|             '    type filter hook postrouting priority 0;\n' | ||||
|             '    policy accept;\n' | ||||
|             '  }\n' | ||||
|             '}\n' | ||||
|         ]) | ||||
| 
 | ||||
| @ -567,5 +601,6 @@ class TestFirewallWorker(TestCase): | ||||
|         self.assertTrue(self.obj.init_called) | ||||
|         self.assertTrue(self.obj.cleanup_called) | ||||
|         self.assertTrue(self.obj.user_script_called) | ||||
|         self.assertEqual(self.obj.update_connected_ips_called_with, [4, 6]) | ||||
|         self.assertEqual(set(self.obj.rules.keys()), self.obj.list_targets()) | ||||
|         # rules content were already tested | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Pawel Marczewski
						Pawel Marczewski