< Summary

Information
Class: Elsa.AI.Host.Options.AIProviderOptionsExtensions
Assembly: Elsa.AI.Host
File(s): /home/runner/work/elsa-core/elsa-core/src/modules/Elsa.AI.Host/Options/AIProviderOptionsExtensions.cs
Line coverage
100%
Covered lines: 13
Uncovered lines: 0
Coverable lines: 13
Total lines: 26
Line coverage: 100%
Branch coverage
83%
Covered branches: 5
Total branches: 6
Branch coverage: 83.3%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
IsProviderEnabled(...)83.33%66100%
ToProviderConfiguration(...)100%11100%

File(s)

/home/runner/work/elsa-core/elsa-core/src/modules/Elsa.AI.Host/Options/AIProviderOptionsExtensions.cs

#LineLine coverage
 1using Elsa.AI.Abstractions.Models;
 2
 3namespace Elsa.AI.Host.Options;
 4
 5internal static class AIProviderOptionsExtensions
 6{
 7    public static bool IsProviderEnabled(this IReadOnlyCollection<AIProviderOptions> providerOptions, string providerNam
 8    {
 419        if (providerOptions.Count == 0)
 3910            return true;
 11
 412        return providerOptions.Any(x => x.Enabled &&
 413                                        (string.Equals(x.Name, providerName, StringComparison.OrdinalIgnoreCase) ||
 414                                         string.Equals(x.Provider, providerName, StringComparison.OrdinalIgnoreCase)));
 15    }
 16
 17    public static AIProviderConfiguration ToProviderConfiguration(this AIProviderOptions options) =>
 118        new()
 119        {
 120            Name = options.Name,
 121            Provider = options.Provider,
 122            Model = options.Model,
 123            ApiKeySecretName = options.ApiKeySecretName,
 124            Endpoint = options.Endpoint
 125        };
 26}