internal SSOService(ITokenProviderFactory factory, SSOTargetSettings targetSettings) { settings = targetSettings.ThrowIfNull(nameof(settings)); settings.AppName.ThrowIfNullOrEmpty(nameof(settings.AppName)); settings.AuthenticationUrlTemplate.ThrowIfNullOrEmpty(nameof(settings.AuthenticationUrlTemplate)); settings.TokenProviderSettings.ThrowIfNull(nameof(settings.TokenProviderSettings)); tokenProvider = factory.Create(settings.TokenProviderSettings); }
public void ThrowsIfSSOTargetSettingsAreInvalid( SSOTargetSettings settings, Type exceptionType, string expectedParamName) { // Arrange var targetSettings = new SSOSettings(); targetSettings.Apps.Add(settings); var factoryMock = new Mock <ITokenProviderFactory>(); var optionsMock = new Mock <IOptions <SSOSettings> >(); optionsMock.Setup(x => x.Value).Returns(targetSettings); // Act/Assert var ex = Assert.Throws(exceptionType, () => new SSOManager(factoryMock.Object, optionsMock.Object)); Assert.Equal(expectedParamName, ((ArgumentException)ex).ParamName); }