25 lines
770 B
Python
25 lines
770 B
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from app.services.openclaw.gateway_rpc import (
|
||
|
|
GATEWAY_OPERATOR_SCOPES,
|
||
|
|
GatewayConfig,
|
||
|
|
_build_connect_params,
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
def test_build_connect_params_sets_explicit_operator_role_and_scopes() -> None:
|
||
|
|
params = _build_connect_params(GatewayConfig(url="ws://gateway.example/ws"))
|
||
|
|
|
||
|
|
assert params["role"] == "operator"
|
||
|
|
assert params["scopes"] == list(GATEWAY_OPERATOR_SCOPES)
|
||
|
|
assert "auth" not in params
|
||
|
|
|
||
|
|
|
||
|
|
def test_build_connect_params_includes_auth_token_when_provided() -> None:
|
||
|
|
params = _build_connect_params(
|
||
|
|
GatewayConfig(url="ws://gateway.example/ws", token="secret-token"),
|
||
|
|
)
|
||
|
|
|
||
|
|
assert params["auth"] == {"token": "secret-token"}
|
||
|
|
assert params["scopes"] == list(GATEWAY_OPERATOR_SCOPES)
|