< Summary - Syki

Information
Class: Syki.Back.Settings.GoogleLoginSettings
Assembly: Back
File(s): /home/runner/work/syki/syki/Back/Settings/SocialLoginSettings.cs
Tag: 97_27801654829
Line coverage
100%
Covered lines: 6
Uncovered lines: 0
Coverable lines: 6
Total lines: 52
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Enabled()100%11100%
get_ClientId()100%11100%
get_ClientSecret()100%11100%
get_TokenEndpoint()100%11100%
get_AuthorizationEndpoint()100%11100%
get_UserInformationEndpoint()100%11100%

File(s)

/home/runner/work/syki/syki/Back/Settings/SocialLoginSettings.cs

#LineLine coverage
 1using Microsoft.AspNetCore.Authentication.Google;
 2
 3namespace Syki.Back.Settings;
 4
 5public class SocialLoginSettings : SettingsBase
 6{
 7    public GoogleLoginSettings Google { get; set; } = new();
 8
 9    public SocialLoginSettings(IConfiguration configuration)
 10    {
 11        configuration.GetSection("SocialLogin").Bind(this);
 12
 13        if (Google.Enabled)
 14        {
 15            RequireNonEmpty(Google.ClientId);
 16            RequireNonEmpty(Google.ClientSecret);
 17        }
 18    }
 19}
 20
 21public class GoogleLoginSettings
 22{
 423    public bool Enabled { get; set; }
 624    public string ClientId { get; set; }
 625    public string ClientSecret { get; set; }
 626    public string? TokenEndpoint { get; set; }
 627    public string? AuthorizationEndpoint { get; set; }
 628    public string? UserInformationEndpoint { get; set; }
 29}
 30
 31public static class SocialLoginSettingsExtensions
 32{
 33    extension(IConfiguration configuration)
 34    {
 35        public SocialLoginSettings SocialLogin => new(configuration);
 36    }
 37
 38    extension(GoogleOptions options)
 39    {
 40        public void OverrideWith(GoogleLoginSettings settings)
 41        {
 42            if (settings.AuthorizationEndpoint.HasValue())
 43                options.AuthorizationEndpoint = settings.AuthorizationEndpoint!;
 44
 45            if (settings.TokenEndpoint.HasValue())
 46                options.TokenEndpoint = settings.TokenEndpoint!;
 47
 48            if (settings.UserInformationEndpoint.HasValue())
 49                options.UserInformationEndpoint = settings.UserInformationEndpoint!;
 50        }
 51    }
 52}