mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 00:14:44 +01:00
ProfileList: add profile_exists()
... and extend the existing tests for add_profile to also check profile_exists().
This commit is contained in:
parent
a0e6fbe32a
commit
fe9b2542ca
2 changed files with 19 additions and 0 deletions
|
@ -283,6 +283,9 @@ class ProfileList:
|
|||
|
||||
return merged_variables
|
||||
|
||||
def profile_exists(self, profile_name):
|
||||
return profile_name in self.profiles
|
||||
|
||||
def profiles_in_file(self, filename):
|
||||
"""Return list of profiles in the given file"""
|
||||
if not self.files.get(filename):
|
||||
|
|
|
@ -37,29 +37,45 @@ class TestAdd_profile(AATest):
|
|||
self.assertEqual(str(self.pl), "\n".join(['', '<ProfileList>', '', '</ProfileList>', '']))
|
||||
|
||||
def testAdd_profile_1(self):
|
||||
self.assertFalse(self.pl.profile_exists('foo'))
|
||||
self.assertFalse(self.pl.profile_exists('/bin/foo'))
|
||||
self.pl.add_profile('/etc/apparmor.d/bin.foo', 'foo', '/bin/foo', self.dummy_profile)
|
||||
self.assertTrue(self.pl.profile_exists('foo'))
|
||||
self.assertFalse(self.pl.profile_exists('/bin/foo'))
|
||||
self.assertEqual(self.pl.profile_names, {'foo': '/etc/apparmor.d/bin.foo'})
|
||||
self.assertEqual(self.pl.attachments, {'/bin/foo': {'f': '/etc/apparmor.d/bin.foo', 'p': 'foo', 're': AARE('/bin/foo', True)}})
|
||||
self.assertEqual(self.pl.profiles_in_file('/etc/apparmor.d/bin.foo'), ['foo'])
|
||||
self.assertEqual(str(self.pl), '\n<ProfileList>\n/etc/apparmor.d/bin.foo\n</ProfileList>\n')
|
||||
|
||||
def testAdd_profile_2(self):
|
||||
self.assertFalse(self.pl.profile_exists('foo'))
|
||||
self.assertFalse(self.pl.profile_exists('/bin/foo'))
|
||||
self.pl.add_profile('/etc/apparmor.d/bin.foo', None, '/bin/foo', self.dummy_profile)
|
||||
self.assertFalse(self.pl.profile_exists('foo'))
|
||||
self.assertTrue(self.pl.profile_exists('/bin/foo'))
|
||||
self.assertEqual(self.pl.profile_names, {})
|
||||
self.assertEqual(self.pl.attachments, {'/bin/foo': {'f': '/etc/apparmor.d/bin.foo', 'p': '/bin/foo', 're': AARE('/bin/foo', True)}})
|
||||
self.assertEqual(self.pl.profiles_in_file('/etc/apparmor.d/bin.foo'), ['/bin/foo'])
|
||||
self.assertEqual(str(self.pl), '\n<ProfileList>\n/etc/apparmor.d/bin.foo\n</ProfileList>\n')
|
||||
|
||||
def testAdd_profile_3(self):
|
||||
self.assertFalse(self.pl.profile_exists('foo'))
|
||||
self.assertFalse(self.pl.profile_exists('/bin/foo'))
|
||||
self.pl.add_profile('/etc/apparmor.d/bin.foo', 'foo', None, self.dummy_profile)
|
||||
self.assertTrue(self.pl.profile_exists('foo'))
|
||||
self.assertFalse(self.pl.profile_exists('/bin/foo'))
|
||||
self.assertEqual(self.pl.profile_names, {'foo': '/etc/apparmor.d/bin.foo'})
|
||||
self.assertEqual(self.pl.attachments, {})
|
||||
self.assertEqual(self.pl.profiles_in_file('/etc/apparmor.d/bin.foo'), ['foo'])
|
||||
self.assertEqual(str(self.pl), '\n<ProfileList>\n/etc/apparmor.d/bin.foo\n</ProfileList>\n')
|
||||
|
||||
def testAdd_profileError_1(self):
|
||||
self.assertFalse(self.pl.profile_exists('foo'))
|
||||
self.assertFalse(self.pl.profile_exists('/bin/foo'))
|
||||
with self.assertRaises(AppArmorBug):
|
||||
self.pl.add_profile('', 'foo', '/bin/foo', self.dummy_profile) # no filename
|
||||
self.assertFalse(self.pl.profile_exists('foo'))
|
||||
self.assertFalse(self.pl.profile_exists('/bin/foo'))
|
||||
|
||||
def testAdd_profileError_2(self):
|
||||
with self.assertRaises(AppArmorBug):
|
||||
|
|
Loading…
Add table
Reference in a new issue