PolicyBuilders
object 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
Creates a ResilientPolicy with a timeout policy configured for fast testing.