public AccountController( IIdentityServerInteractionService interaction, IClientStore clientStore, IHttpContextAccessor httpContextAccessor, IEventService events, IAppConfiguration appConfiguration, IUserStore userStore, ILogger logger, IPrincipalSearchService principalSearchService, IFabricClaimsService claimsService, AccountService accountService, GroupFilterService groupFilterService, TestUserStore users = null) { // if the TestUserStore is not in DI, then we'll just use the global users collection _users = users ?? MakeTestUserStore(appConfiguration); _interaction = interaction; _events = events; _appConfiguration = appConfiguration; _logger = logger; _principalSearchService = principalSearchService; _accountService = accountService; _claimsService = claimsService; _groupFilterService = groupFilterService; _userLoginManager = new UserLoginManager(userStore, _logger); }
public void FilterClaims_NullGroupSettings_ReturnsOriginalClaims() { var claims = new List <Claim> { new Claim("role", "Admin") }; var filteredClaims = new GroupFilterService(null).FilterClaims(claims).ToList(); Assert.Equal(1, filteredClaims.Count); Assert.Equal("Admin", filteredClaims[0].Value); }
public void FilterClaims_GroupSettingsNullFilters_ReturnsOriginalClaims() { var groupMatchSettings = new GroupFilterSettings(); var claims = new List <Claim> { new Claim("role", "Admin") }; var filteredClaims = new GroupFilterService(groupMatchSettings).FilterClaims(claims).ToList(); Assert.Single(filteredClaims); Assert.Equal("Admin", filteredClaims[0].Value); }
public void FilterClaims_EmptyPrefixesAndSuffixes_ReturnsOriginalClaims() { var groupMatchSettings = new GroupFilterSettings { Prefixes = new List <string>(), Suffixes = new List <string>() }; var claims = new List <Claim> { new Claim("role", "Admin") }; var filteredClaims = new GroupFilterService(groupMatchSettings).FilterClaims(claims).ToList(); Assert.Equal(1, filteredClaims.Count); Assert.Equal("Admin", filteredClaims[0].Value); }
public void FilterClaims_NoMatchingPrefixesAndSuffixes_ReturnsEmptyClaimList() { var groupMatchSettings = new GroupFilterSettings { Prefixes = new List <string> { "foo" }, Suffixes = new List <string> { "bar" } }; var claims = new List <Claim> { new Claim("role", "Admin") }; var filteredClaims = new GroupFilterService(groupMatchSettings).FilterClaims(claims).ToList(); Assert.Equal(0, filteredClaims.Count); }
public void FilterClaims_MatchingPrefixesAndSuffixes_ReturnsFilteredClaims() { var groupMatchSettings = new GroupFilterSettings { Prefixes = new List <string> { "Admin", "User", "HC" }, Suffixes = new List <string> { "user", "Safety" } }; var claims = new List <Claim> { new Claim("role", "Administrator"), new Claim("role", "User"), new Claim("role", "NoMatch"), new Claim("role", "Superuser"), new Claim("role", "HCPatientSafety") }; var filteredClaims = new GroupFilterService(groupMatchSettings).FilterClaims(claims).ToList(); var claimComparer = new ClaimComparer(); Assert.Equal(4, filteredClaims.Count); Assert.True(filteredClaims.Contains(claims[0], claimComparer)); Assert.True(filteredClaims.Contains(claims[1], claimComparer)); Assert.True(filteredClaims.Contains(claims[3], claimComparer)); Assert.True(filteredClaims.Contains(claims[4], claimComparer)); }