Exemple #1
0
class TestQuery(unittest.TestCase):
    def setUp(self):
        self.query = Query(tracer=TracerMock)

    def test_affected_applications(self):
        apps_query = self.query.affected_applications()
        self.assertIsInstance(apps_query, Lazy)
        self.assertTrue(hasattr(apps_query, "get"))
        self.assertListEqual(list(apps_query.get()), ["A", "B", "C"])
def query_apps(conduit):
    """Returns all apps that need restarting """
    query = Query()
    if conduit:
        # When running via yum we need to pass tracer a list of packages and 
        # their last modified time so it has no need to access the rpmdb (which
        # would fail as yum/dnf has a lock on it) 
        packages = []
        pkgs = conduit.getTsInfo().getMembers() # Packages in the current transation
        for pkg in pkgs:
            pkg.modified = time.time()
            packages.append(pkg)
        rpmdb = conduit.getRpmDB() # All other packages
        for pkg in rpmdb:
            pkg.modified = pkg.installtime
            packages.append(pkg)
        return query.from_packages(packages).now().affected_applications().get()
    else:
        return query.affected_applications().get()
Exemple #3
0
def query_apps(conduit):
    """Returns all apps that need restarting """
    query = Query()
    if conduit:
        # When running via yum we need to pass tracer a list of packages and
        # their last modified time so it has no need to access the rpmdb (which
        # would fail as yum/dnf has a lock on it)
        packages = []
        pkgs = conduit.getTsInfo().getMembers()  # Packages in the current transation
        for pkg in pkgs:
            pkg.modified = time.time()
            packages.append(pkg)
        rpmdb = conduit.getRpmDB()  # All other packages
        for pkg in rpmdb:
            pkg.modified = pkg.installtime
            packages.append(pkg)
        return query.from_packages(packages).now().affected_applications().get()
    else:
        return query.affected_applications().get()
Exemple #4
0
class TestQuery(unittest.TestCase):

	def setUp(self):
		self.query = Query(tracer=TracerMock)

	def test_affected_applications(self):
		apps_query = self.query.affected_applications()
		self.assertIsInstance(apps_query, Lazy)
		self.assertTrue(hasattr(apps_query, "get"))
		self.assertListEqual(list(apps_query.get()), ["A", "B", "C"])
Exemple #5
0
def query_affected_apps(plugin=None):
    query = Query()
    return query.affected_applications().get()
Exemple #6
0
	def setUp(self):
		self.query = Query(tracer=TracerMock)
Exemple #7
0
def query_affected_apps(plugin=None):
    query = Query()
    return query.affected_applications().get()
Exemple #8
0
 def setUp(self):
     self.query = Query(tracer=TracerMock)
Exemple #9
0
import json
from tracer.query import Query

q = Query()
applications = q.affected_applications().get()


def filter_by_type(apps, type_str):
    return [app.name for app in apps if app.type == type_str]


dump_obj = {}
# ignore type "session" for cockpit use case
dump_obj["reboot"] = filter_by_type(applications, "static")
dump_obj["daemons"] = filter_by_type(applications, "daemon")
dump_obj["manual"] = filter_by_type(applications, "application")

print(json.dumps(dump_obj))