mirror of
https://github.com/feder-cr/invisible_playwright.git
synced 2026-06-07 08:35:12 +02:00
tests: add/update tests/test_imports.py
This commit is contained in:
parent
6185dbc078
commit
508cb0f59d
1 changed files with 56 additions and 0 deletions
56
tests/test_imports.py
Normal file
56
tests/test_imports.py
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
"""Public API surface — what users actually import."""
|
||||
import importlib
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
def test_top_level_import():
|
||||
import invisible_playwright as ip
|
||||
assert hasattr(ip, "InvisiblePlaywright")
|
||||
assert hasattr(ip, "BINARY_VERSION")
|
||||
assert hasattr(ip, "FIREFOX_UPSTREAM_VERSION")
|
||||
assert hasattr(ip, "__version__")
|
||||
|
||||
|
||||
def test_version_string():
|
||||
from invisible_playwright import __version__
|
||||
parts = __version__.split(".")
|
||||
assert len(parts) >= 2
|
||||
assert all(p.isdigit() or p.replace("-", "").replace("rc", "").isdigit()
|
||||
or any(c.isdigit() for c in p) for p in parts)
|
||||
|
||||
|
||||
def test_sync_api_module():
|
||||
from invisible_playwright.sync_api import InvisiblePlaywright as SyncCls
|
||||
from invisible_playwright import InvisiblePlaywright as TopCls
|
||||
assert SyncCls is TopCls
|
||||
|
||||
|
||||
def test_async_api_module_importable():
|
||||
mod = importlib.import_module("invisible_playwright.async_api")
|
||||
assert hasattr(mod, "InvisiblePlaywright")
|
||||
|
||||
|
||||
def test_async_class_is_distinct_from_sync():
|
||||
from invisible_playwright import InvisiblePlaywright as Sync
|
||||
from invisible_playwright.async_api import InvisiblePlaywright as Async
|
||||
assert Sync is not Async
|
||||
|
||||
|
||||
@pytest.mark.parametrize("name", [
|
||||
"constants",
|
||||
"download",
|
||||
"prefs",
|
||||
"launcher",
|
||||
"cli",
|
||||
"_proxy",
|
||||
"_fpforge",
|
||||
])
|
||||
def test_submodule_importable(name):
|
||||
importlib.import_module(f"invisible_playwright.{name}")
|
||||
|
||||
|
||||
def test_dunder_all_is_complete():
|
||||
import invisible_playwright as ip
|
||||
for name in ip.__all__:
|
||||
assert hasattr(ip, name), f"{name} declared in __all__ but missing"
|
||||
Loading…
Add table
Add a link
Reference in a new issue