func (s *appArmorSuite) TestUnloadProfileRunsAppArmorParserRemove(c *C) { cmd := testutil.MockCommand(c, "apparmor_parser", "") defer cmd.Restore() err := apparmor.UnloadProfile("snap.samba.smbd") c.Assert(err, IsNil) c.Assert(cmd.Calls(), DeepEquals, []string{"--remove snap.samba.smbd"}) }
func (s *appArmorSuite) TestUnloadProfileReportsErrors(c *C) { cmd := testutil.MockCommand(c, "apparmor_parser", "exit 42") defer cmd.Restore() err := apparmor.UnloadProfile("snap.samba.smbd") c.Assert(err.Error(), Equals, `cannot unload apparmor profile: exit status 42 apparmor_parser output: `) }
func (s *appArmorSuite) TestUnloadRemovesCachedProfile(c *C) { cmd := testutil.MockCommand(c, "apparmor_parser", "") defer cmd.Restore() dirs.SetRootDir(c.MkDir()) defer dirs.SetRootDir("") err := os.MkdirAll(dirs.AppArmorCacheDir, 0755) c.Assert(err, IsNil) fname := filepath.Join(dirs.AppArmorCacheDir, "profile") ioutil.WriteFile(fname, []byte("blob"), 0600) err = apparmor.UnloadProfile("profile") c.Assert(err, IsNil) _, err = os.Stat(fname) c.Check(os.IsNotExist(err), Equals, true) }