- GRAYBYTE UNDETECTABLE CODES -

403Webshell
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3.6/site-packages/tracer/tests/test_processes.py
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]

Youez - 2016 - github.com/yon3zu
LinuXploit