mirror of
https://github.com/CloakHQ/CloakBrowser.git
synced 2026-06-23 11:41:46 +02:00
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
"""Unit tests for backend resolution (_resolve_backend)."""
|
|
|
|
import os
|
|
from unittest.mock import patch
|
|
|
|
import pytest
|
|
|
|
from cloakbrowser.browser import _resolve_backend
|
|
|
|
|
|
def test_resolve_backend_default():
|
|
"""No param, no env var → 'playwright'."""
|
|
with patch.dict(os.environ, {}, clear=True):
|
|
assert _resolve_backend(None) == "playwright"
|
|
|
|
|
|
def test_resolve_backend_explicit_playwright():
|
|
assert _resolve_backend("playwright") == "playwright"
|
|
|
|
|
|
def test_resolve_backend_explicit_patchright():
|
|
assert _resolve_backend("patchright") == "patchright"
|
|
|
|
|
|
def test_resolve_backend_env_var():
|
|
"""CLOAKBROWSER_BACKEND env var used when no param."""
|
|
with patch.dict(os.environ, {"CLOAKBROWSER_BACKEND": "patchright"}):
|
|
assert _resolve_backend(None) == "patchright"
|
|
|
|
|
|
def test_resolve_backend_param_beats_env():
|
|
"""Explicit param overrides env var."""
|
|
with patch.dict(os.environ, {"CLOAKBROWSER_BACKEND": "patchright"}):
|
|
assert _resolve_backend("playwright") == "playwright"
|
|
|
|
|
|
def test_resolve_backend_invalid_raises():
|
|
with pytest.raises(ValueError, match="Unknown backend 'bogus'"):
|
|
_resolve_backend("bogus")
|
|
|
|
|
|
def test_resolve_backend_invalid_env_raises():
|
|
with patch.dict(os.environ, {"CLOAKBROWSER_BACKEND": "bogus"}):
|
|
with pytest.raises(ValueError, match="Unknown backend 'bogus'"):
|
|
_resolve_backend(None)
|