2
0
mirror of https://gitlab.com/apparmor/apparmor synced 2025-09-05 00:35:13 +00:00

Make BaseRule a proper abstract base class

This commit is contained in:
Mark Grassi
2022-09-27 22:14:31 -04:00
parent 9107a0d891
commit 852169948f
15 changed files with 167 additions and 128 deletions

View File

@@ -18,7 +18,6 @@ from collections import namedtuple
from apparmor.common import AppArmorBug, AppArmorException, cmd
from apparmor.logparser import ReadLog
from apparmor.rule import BaseRule
from apparmor.rule.network import NetworkRule, NetworkRuleset, network_domain_keywords
from apparmor.translations import init_translation
from common_test import AATest, setup_all_loops
@@ -370,18 +369,22 @@ class NetworkCoveredTest_Invalid(AATest):
obj.is_covered(testobj)
def test_invalid_is_covered(self):
obj = NetworkRule.create_instance('network inet,')
testobj = BaseRule() # different type
raw_rule = 'network inet,'
class SomeOtherClass(NetworkRule):
pass
obj = NetworkRule.create_instance(raw_rule)
testobj = SomeOtherClass.create_instance(raw_rule) # different type
with self.assertRaises(AppArmorBug):
obj.is_covered(testobj)
def test_invalid_is_equal(self):
obj = NetworkRule.create_instance('network inet,')
testobj = BaseRule() # different type
raw_rule = 'network inet,'
class SomeOtherClass(NetworkRule):
pass
obj = NetworkRule.create_instance(raw_rule)
testobj = SomeOtherClass.create_instance(raw_rule) # different type
with self.assertRaises(AppArmorBug):
obj.is_equal(testobj)