Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Polly.Testing/InnerStrategiesDescriptor.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
namespace Polly.Testing;

/// <summary>
/// Describes the pipeline of resilience strategy.
/// Describes the pipeline of a resilience strategy.
/// </summary>
/// <param name="Strategies">The strategies the pipeline is composed of.</param>
/// <param name="HasTelemetry">Gets a value indicating whether the pipeline has telemetry enabled.</param>
Expand Down
25 changes: 25 additions & 0 deletions src/Polly.Testing/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
# About Polly.Testing

This package exposes API and utilities that can be used to assert the composition of resilience strategies.

``` csharp
// Build your resilience strategy.
ResilienceStrategy strategy = new ResilienceStrategyBuilder()
.AddRetry(new RetryStrategyOptions
{
RetryCount = 4
})
.AddTimeout(TimeSpan.FromSeconds(1))
.ConfigureTelemetry(NullLoggerFactory.Instance)
.Build();

// Retrieve inner strategies.
InnerStrategiesDescriptor descriptor = strategy.GetInnerStrategies();

// Assert the composition.
Assert.True(descriptor.HasTelemetry);
Assert.Equal(2, descriptor.Strategies.Count);

var retryOptions = Assert.IsType<RetryStrategyOptions>(descriptor.Strategies[0]);
Assert.Equal(4, retryOptions.RetryCount);

var timeoutOptions = Assert.IsType<TimeoutStrategyOptions>(descriptor.Strategies[0]);
Assert.Equal(TimeSpan.FromSeconds(1), timeoutOptions.Timeout);
```