mirror of
https://github.com/feder-cr/invisible_playwright.git
synced 2026-06-07 08:35:12 +02:00
- Add tests/conftest.py with deterministic_rng + sample_profile fixtures - Register unit/integration/e2e markers in pyproject.toml - Mark existing 14 tests as @pytest.mark.unit - Fix test_cli.py: use 'invisible_playwright' (underscore) for 'python -m' - Fix test_translate_includes_gpu_renderer: assert Windows behavior (empty renderer)
43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
import pytest
|
|
|
|
from invisible_playwright._fpforge import generate_profile
|
|
from invisible_playwright.prefs import translate_profile_to_prefs
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_translate_includes_gpu_renderer_windows():
|
|
"""On Windows, renderer/vendor are cleared so ANGLE reports native hardware."""
|
|
p = generate_profile(seed=42)
|
|
prefs = translate_profile_to_prefs(p)
|
|
assert prefs["zoom.stealth.webgl.renderer"] == ""
|
|
assert prefs["zoom.stealth.webgl.vendor"] == ""
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_translate_includes_screen():
|
|
p = generate_profile(seed=42)
|
|
prefs = translate_profile_to_prefs(p)
|
|
assert prefs["zoom.stealth.screen.width"] == p.screen.width
|
|
assert prefs["zoom.stealth.screen.height"] == p.screen.height
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_translate_is_deterministic_per_seed():
|
|
a = translate_profile_to_prefs(generate_profile(seed=42))
|
|
b = translate_profile_to_prefs(generate_profile(seed=42))
|
|
assert a == b
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_translate_varies_across_seeds():
|
|
a = translate_profile_to_prefs(generate_profile(seed=1))
|
|
b = translate_profile_to_prefs(generate_profile(seed=2))
|
|
assert a != b
|
|
|
|
|
|
@pytest.mark.unit
|
|
def test_translate_has_stealth_baseline_constants():
|
|
p = generate_profile(seed=42)
|
|
prefs = translate_profile_to_prefs(p)
|
|
assert prefs.get("privacy.resistFingerprinting") is False
|
|
assert "media.peerconnection.enabled" in prefs
|