42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
from __future__ import annotations
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
from types import ModuleType
|
|
from typing import Any, cast
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[1]
|
|
if str(ROOT) not in sys.path:
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
|
|
try:
|
|
import audible # noqa: F401
|
|
except ModuleNotFoundError:
|
|
audible_stub = ModuleType("audible")
|
|
|
|
class Authenticator:
|
|
"""Minimal audible authenticator test stub."""
|
|
|
|
pass
|
|
|
|
class Client:
|
|
"""Minimal audible client test stub."""
|
|
|
|
pass
|
|
|
|
setattr(cast(Any, audible_stub), "Authenticator", Authenticator)
|
|
setattr(cast(Any, audible_stub), "Client", Client)
|
|
|
|
activation_bytes = ModuleType("audible.activation_bytes")
|
|
|
|
def get_activation_bytes(_auth: Authenticator | None = None) -> bytes:
|
|
"""Return deterministic empty activation bytes for tests."""
|
|
return b""
|
|
|
|
setattr(cast(Any, activation_bytes), "get_activation_bytes", get_activation_bytes)
|
|
|
|
sys.modules["audible"] = audible_stub
|
|
sys.modules["audible.activation_bytes"] = activation_bytes
|