< Summary

Information
Class: Elsa.Resilience.Extensions.ResilienceServiceCollectionExtensions
Assembly: Elsa.Resilience.Core
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Resilience.Core/Extensions/ResilienceServiceCollectionExtensions.cs
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 29
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
AddResilienceStrategy(...)100%22100%
AddResilienceStrategies(...)100%22100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.Resilience.Core/Extensions/ResilienceServiceCollectionExtensions.cs

#LineLine coverage
 1using Elsa.Resilience.Options;
 2using Microsoft.Extensions.DependencyInjection;
 3
 4// ReSharper disable once CheckNamespace
 5namespace Elsa.Resilience.Extensions;
 6
 7/// <summary>
 8/// <see cref="IServiceCollection"/> extension methods for registering resilience strategy types
 9/// via <see cref="ResilienceOptions"/>.
 10/// </summary>
 11public static class ResilienceServiceCollectionExtensions
 12{
 13    /// <summary>
 14    /// Registers a resilience strategy type with <see cref="ResilienceOptions"/>.
 15    /// </summary>
 16    public static IServiceCollection AddResilienceStrategy<T>(this IServiceCollection services) =>
 617        services.Configure<ResilienceOptions>(options => options.StrategyTypes.Add(typeof(T)));
 18
 19    /// <summary>
 20    /// Registers multiple resilience strategy types with <see cref="ResilienceOptions"/>.
 21    /// </summary>
 22    public static IServiceCollection AddResilienceStrategies(this IServiceCollection services, IEnumerable<Type> types) 
 223        services.Configure<ResilienceOptions>(options =>
 224        {
 825            foreach (var type in types)
 226                options.StrategyTypes.Add(type);
 427        });
 28}
 29