def testParse(self): parser = osx_launchd.DarwinPersistenceMechanismsParser() serv_info = rdf_client.OSXServiceInformation(label="blah", args=["/blah/test", "-v"]) results = list( parser.Parse(serv_info, None, rdf_paths.PathSpec.PathType.OS)) self.assertEqual(results[0].pathspec.path, "/blah/test")
def CreateServiceProto(job): """Create the Service protobuf. Args: job: Launchdjobdict from servicemanagement framework. Returns: sysinfo_pb2.OSXServiceInformation proto """ service = rdf_client.OSXServiceInformation( label=job.get("Label"), program=job.get("Program"), sessiontype=job.get("LimitLoadToSessionType"), lastexitstatus=int(job["LastExitStatus"]), timeout=int(job["TimeOut"]), ondemand=bool(job["OnDemand"])) for arg in job.get("ProgramArguments", "", stringify=False): # Returns CFArray of CFStrings service.args.Append(str(arg)) mach_dict = job.get("MachServices", {}, stringify=False) for key, value in iteritems(mach_dict): service.machservice.Append("%s:%s" % (key, value)) job_mach_dict = job.get("PerJobMachServices", {}, stringify=False) for key, value in iteritems(job_mach_dict): service.perjobmachservice.Append("%s:%s" % (key, value)) if "PID" in job: service.pid = job["PID"].value return service
def testParse(self): parser = osx_launchd.DarwinPersistenceMechanismsParser() serv_info = rdf_client.OSXServiceInformation(label="blah", args=["/blah/test", "-v"]) results = list( parser.ParseResponse(rdf_client.KnowledgeBase(), serv_info)) self.assertEqual(results[0].pathspec.path, "/blah/test")
def OSXEnumerateRunningServicesStub(self, args): del args # Unused. job = osx_launchd_testdata.JOB[0] yield rdf_client.OSXServiceInformation( label=job.get("Label"), program=job.get("Program"), sessiontype=job.get("LimitLoadToSessionType"), lastexitstatus=int(job["LastExitStatus"]), timeout=int(job["TimeOut"]), ondemand=bool(job["OnDemand"]))