feat: make bootstrapper initialiser timeouts configurable (#999)

* feat: make bootstrapper initialiser timeouts configurable

DefaultFlowStart and WorkspaceInit hardcoded the request timeouts for
their flow-svc and IAM calls, leaving operators no way to tune them for
high-latency environments (#874).

Expose them as constructor parameters threaded through the existing
initialiser `params:` mechanism, defaulting to the current values so
behaviour is unchanged unless explicitly overridden:

- DefaultFlowStart: list_timeout=10 (list-flows), start_timeout=30 (start-flow)
- WorkspaceInit: iam_timeout=10 (create-workspace)

Add unit tests for the defaults, override storage, and that configured
values reach the underlying request calls.

* test: mark async bootstrap test with @pytest.mark.asyncio

Addresses review feedback on PR #999: add the explicit
@pytest.mark.asyncio decorator to test_run_forwards_configured_timeouts
so it does not rely on asyncio_mode=auto and stays consistent with the
rest of the suite.
This commit is contained in:
corvus-0x 2026-06-30 04:37:22 -04:00 committed by GitHub
parent 5cb4f83afa
commit 1aa9549912
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 85 additions and 5 deletions

View file

@ -0,0 +1,13 @@
"""Unit tests for trustgraph.bootstrap.initialisers.WorkspaceInit."""
from trustgraph.bootstrap.initialisers.workspace_init import WorkspaceInit
def test_default_iam_timeout():
init = WorkspaceInit()
assert init.iam_timeout == 10
def test_iam_timeout_override_is_stored():
init = WorkspaceInit(iam_timeout=42)
assert init.iam_timeout == 42