示例#1
0
 def requested_srconfig(self):
     routes = [
         IPRouteData(
             to='0.0.0.0/0',
             via=self._gateway,
             family=4,
             device=self.device,
             table=self._table,
         ),
         IPRouteData(
             to=self._network,
             via=self._ipaddr,
             family=4,
             device=self.device,
             table=self._table,
         ),
     ]
     rules = [
         IPRuleData(src=self._network,
                    table=self._table,
                    prio=RULE_PRIORITY),
         IPRuleData(
             to=self._network,
             table=self._table,
             iif=self.device,
             prio=RULE_PRIORITY,
         ),
     ]
     return routes, rules
示例#2
0
 def test_add_rule_with_invalid_address(self, ip_rule_driver):
     rule = IPRuleData(to=IPV4_ADDRESS1,
                       iif='shrubbery_shruberry',
                       table='main')
     with pytest.raises(IPRuleAddError):
         with self._create_rule(ip_rule_driver, rule):
             pass
示例#3
0
 def test_add_rule_with_invalid_address(self):
     rule = IPRuleData(to=IPV4_ADDRESS1,
                       iif='shrubbery_shruberry',
                       table='main')
     with self.assertRaises(IPRuleAddError):
         with self.create_rule(rule):
             pass
示例#4
0
 def test_add_delete_and_read_rule(self):
     rule = IPRuleData(to=IPV4_ADDRESS1, iif='lo', table='main')
     with self.create_rule(rule):
         rules = [
             r for r in IPRuleTest.IPRule.rules() if r.to == IPV4_ADDRESS1
         ]
         self.assertEqual(1, len(rules))
         self.assertEqual(rules[0].iif, 'lo')
         self.assertEqual(rules[0].table, 'main')
示例#5
0
 def test_add_delete_and_read_rule(self, ip_rule_driver):
     rule = IPRuleData(to=IPV4_ADDRESS1, iif='lo', table='main', prio=999)
     with self._create_rule(ip_rule_driver, rule):
         rules = [
             r for r in ip_rule_driver.rules() if r.to == IPV4_ADDRESS1
         ]
         assert len(rules) == 1
         assert rules[0].iif == 'lo'
         assert rules[0].table == 'main'
         assert rules[0].prio == 999
示例#6
0
 def test_delete_non_existing_rule(self, ip_rule_driver):
     rule = IPRuleData(to=IPV4_ADDRESS1, iif='lo', table='main')
     with pytest.raises(IPRuleDeleteError):
         ip_rule_driver.delete(rule)
示例#7
0
 def test_delete_non_existing_rule(self):
     rule = IPRuleData(to=IPV4_ADDRESS1, iif='lo', table='main')
     with self.assertRaises(IPRuleDeleteError):
         IPRuleTest.IPRule.delete(rule)