def setUp(self):
     rootdir = os.path.abspath("./root.rewind")
     dpkg_status = os.path.abspath(
         os.path.join(rootdir, "var", "lib", "dpkg", "status"))
     apt.apt_pkg.config.set("Dir::State::status", dpkg_status)
     self.cache = unattended_upgrade.UnattendedUpgradesCache(
         rootdir=rootdir)
 def setUp(self):
     rootdir = os.path.abspath("./root.rewind")
     dpkg_status = os.path.abspath(
         os.path.join(rootdir, "var", "lib", "dpkg", "status"))
     apt.apt_pkg.config.set("Dir::State::status", dpkg_status)
     self.allowed_origins = ["origin=Ubuntu,archive=lucid-security"]
     self.cache = unattended_upgrade.UnattendedUpgradesCache(
         rootdir=rootdir, allowed_origins=self.allowed_origins)
    def test_remove_valid(self):
        cache = unattended_upgrade.UnattendedUpgradesCache(
            rootdir=self.rootdir)
        auto_removable = unattended_upgrade.get_auto_removable(cache)
        print(auto_removable)
        cache["old-unused-dependency"].mark_delete()
        res = unattended_upgrade.is_autoremove_valid(
            cache, "test-package-dependency", auto_removable)
        self.assertTrue(res, "Simple autoremoval set is not valid")

        res = unattended_upgrade.is_autoremove_valid(
            cache, "test-package-dependency", set())
        self.assertFalse(res, "Autoremoving non-autoremovable package")

        cache["forbidden-dependency"].mark_install()
        auto_removable.add("forbidden-dependency")
        res = unattended_upgrade.is_autoremove_valid(
            cache, "test-package-dependency", auto_removable)
        self.assertFalse(res,
                         "Package set to reinstall in cache is reinstalled")