mockNetworkClient
fun mockNetworkClient(json: Json = DefaultKenworkJson, authorizationProvider: AuthorizationProvider? = null, maxAuthRefreshAttempts: Int = 1, retryDelayMillis: Long = 0, retryPolicy: RetryPolicy = RetryPolicy.None, reachabilityGate: ReachabilityGate? = null, eventListener: NetworkEventListener? = null, requestInterceptor: RequestInterceptor? = null, requestHeaderProvider: RequestHeaderProvider? = null, handler: suspend MockRequestHandleScope.(HttpRequestData) -> HttpResponseData): NetworkClient
Builds a NetworkClient backed by a Ktor MockEngine driven by handler. Intended for unit tests of code that depends on kenwork — no real sockets are opened.
retryDelayMillis defaults to 0 so 401-refresh-retry tests don't actually sleep, and retryPolicy defaults to RetryPolicy.None so requests aren't transparently retried unless a test opts in (pass a io.github.maniramezan.kenwork.network.DefaultRetryPolicy or custom policy).
Parameters
retryPolicy
retry behavior; off by default for deterministic tests.
reachabilityGate
optional connectivity gate exercised on retries (see FakeReachabilityGate). The optional request interceptor wraps each attempt for tracing or similar instrumentation. The optional request-header provider supplies propagation or other dynamic headers for each attempt.