Files
ArchiveBox/archivebox/tests/test_process_runtime_paths.py
Nick Sweeting b749b26c5d wip
2026-03-23 03:58:32 -07:00

38 lines
1.5 KiB
Python

import os
import unittest
from pathlib import Path
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "archivebox.settings")
from archivebox.machine.models import Process
class TestProcessRuntimePaths(unittest.TestCase):
def test_hook_processes_use_isolated_runtime_dir(self):
process = Process(
process_type=Process.TypeChoices.HOOK,
pwd="/tmp/archive/example/chrome",
cmd=["node", "/plugins/chrome/on_Snapshot__11_chrome_wait.js", "--url=https://example.com"],
)
expected_dir = Path("/tmp/archive/example/chrome/.hooks/on_Snapshot__11_chrome_wait.js")
self.assertEqual(process.runtime_dir, expected_dir)
self.assertEqual(process.stdout_file, expected_dir / "stdout.log")
self.assertEqual(process.stderr_file, expected_dir / "stderr.log")
self.assertEqual(process.pid_file, expected_dir / "process.pid")
def test_non_hook_processes_keep_runtime_files_in_pwd(self):
process = Process(
process_type=Process.TypeChoices.WORKER,
pwd="/tmp/archive/example",
cmd=["archivebox", "run", "--snapshot-id", "123"],
)
expected_dir = Path("/tmp/archive/example")
self.assertEqual(process.runtime_dir, expected_dir)
self.assertEqual(process.stdout_file, expected_dir / "stdout.log")
self.assertEqual(process.stderr_file, expected_dir / "stderr.log")
self.assertEqual(process.pid_file, expected_dir / "process.pid")