Server IP : 184.154.167.98 / Your IP : 3.138.120.251 Web Server : Apache System : Linux pink.dnsnetservice.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : puertode ( 1767) PHP Version : 8.2.26 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /lib/python3.6/site-packages/tracer/tests/ |
Upload File : |
from .__meta__ import * from tracer.resources.processes import Processes, Process, ProcessWrapper from tracer.resources.SystemdDbus import SystemdDbus from tracer.resources.collections import ProcessesCollection import os import subprocess class TestProcesses(unittest.TestCase): @unittest.skipIf(True, "@TODO Create Mock for Processes class") def test_children(self): process = Processes.all()[0] children = process.children() self.assertIsInstance(children, ProcessesCollection) for child in children: self.assertIsInstance(child, Process) @unittest.skipIf(True, "@TODO Create Mock for Processes class") def test_unique_process(self): process = Process(os.getpid()) parent = Process(os.getppid()) self.assertIs(process, Process(os.getpid())) self.assertIs(parent, process.parent()) self.assertIn(process, parent.children()) Process.reset_cache() process2 = Process(os.getpid()) self.assertEqual(process, process2) self.assertIsNot(process, process2) @unittest.skipIf(True, "@TODO Create Mock for Processes class") def test_process_caching(self): process = Process(os.getpid()) # Populate the cache entry for children process.children() child = subprocess.Popen(os.sys.executable, stdin=subprocess.PIPE) self.assertEqual(0, len(process.children())) process.rebuild_cache() self.assertEqual(1, len(process.children())) child.terminate() def test_name_sshd(self): p1 = ProcessMock() p1.data = {"name": "sshd", "exe": "/usr/sbin/sshd", "cmdline": ["/usr/sbin/sshd", "-D", "foo", "bar"]} assert p1.name() == "sshd" p2 = ProcessMock() p2.data = {"name": "sshd", "exe": "/usr/sbin/sshd", "cmdline": ["some", "thing", "and", "arguments", "idk", "what"]} assert p2.name() == "ssh-thing-session" # I don't know what case this is in a real life but see #129 and #125 p3 = ProcessMock() p3.data = {"name": "sshd", "exe": "/usr/sbin/sshd", "cmdline": ["withoutparams"]} assert p3.name() == "sshd" @unittest.skipIf(True, "@TODO Create Mock for Processes class") def test_dbus(self): dbus = SystemdDbus() pids = Processes.pids() nonexisting = max(pids) + 999 assert dbus.has_service_property_from_pid(1, "PAMName") is False assert dbus.has_service_property_from_pid(nonexisting, "PAMName") is False class ProcessMock(ProcessWrapper): def __init__(self): self.data = {} def _attr(self, name): return self.data[name]