27 lines
872 B
Python
27 lines
872 B
Python
"""Helpers so Flask test requests emulate a LAN client.
|
|
|
|
``require_paired_terminal`` skips pairing when ``request.host`` or
|
|
``request.remote_addr`` looks like localhost; the default test client uses
|
|
``127.0.0.1``, so pairing would never be enforced without these kwargs.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Any
|
|
|
|
KIOSK_BASE_URL = "http://kiosk.example:5000/"
|
|
|
|
|
|
def kiosk_client_kwargs(**extra: Any) -> dict[str, Any]:
|
|
"""Merge ``base_url`` / ``environ_overrides`` for non-localhost requests."""
|
|
out: dict[str, Any] = {
|
|
"base_url": KIOSK_BASE_URL,
|
|
"environ_overrides": {"REMOTE_ADDR": "192.168.1.10"},
|
|
}
|
|
if "environ_overrides" in extra:
|
|
merged = dict(out["environ_overrides"])
|
|
merged.update(extra.pop("environ_overrides"))
|
|
out["environ_overrides"] = merged
|
|
out.update(extra)
|
|
return out
|