test_mediacrawler_adapter.py 894 Bytes
from __future__ import annotations

from pathlib import Path

from services.crawler.adapters.mediacrawler_adapter import (
    MediaCrawlerAdapter,
    get_mediacrawler_paths,
)
from utils.runtime_paths import CRAWLER_BROWSER_DATA_DIR


def test_adapter_defaults_browser_data_to_runtime_managed_directory():
    root = Path("/repo/vendor/mediacrawler")

    paths = MediaCrawlerAdapter(root=root).get_paths()

    assert paths.root == root
    assert paths.runtime == root / "web_runtime.py"
    assert paths.browser_data == CRAWLER_BROWSER_DATA_DIR


def test_get_mediacrawler_paths_allows_explicit_browser_data_override():
    root = Path("/repo/vendor/mediacrawler")
    browser_data_dir = Path("/runtime/crawler/browser_data")

    paths = get_mediacrawler_paths(root=root, browser_data_dir=browser_data_dir)

    assert paths.root == root
    assert paths.browser_data == browser_data_dir