PolicyBuilders

Convenience builders for creating ResilientPolicy instances with common test configurations.

These builders reduce boilerplate in tests by providing sensible defaults for resilience policies.

Functions

Link copied to clipboard
fun bulkheadPolicy(scope: ResilientScope, maxConcurrentCalls: Int = 2, maxWaitingCalls: Int = 4): ResilientPolicy

Creates a ResilientPolicy with a bulkhead configured for fast testing.

Link copied to clipboard
fun circuitBreakerPolicy(scope: ResilientScope, failureThreshold: Int = 3, successThreshold: Int = 2, timeout: Duration = 5.seconds): ResilientPolicy

Creates a ResilientPolicy with a circuit breaker configured for fast testing.

Link copied to clipboard
fun rateLimiterPolicy(scope: ResilientScope, maxCalls: Int = 5, period: Duration = 1.seconds): ResilientPolicy

Creates a ResilientPolicy with a rate limiter configured for fast testing.

Link copied to clipboard
fun retryPolicy(scope: ResilientScope, maxAttempts: Int = 3, initialDelay: Duration = 10.milliseconds, maxDelay: Duration = 100.milliseconds, shouldRetry: (Throwable) -> Boolean = { true }): ResilientPolicy

Creates a ResilientPolicy with a retry policy configured for fast testing.

Link copied to clipboard
fun timeoutPolicy(scope: ResilientScope, timeout: Duration = 1.seconds): ResilientPolicy

Creates a ResilientPolicy with a timeout policy configured for fast testing.