public void DecorateAsync_ShouldExcludeClaimsProperly() { var claims = new ClaimBuilderCollection { { "A-type", "A-value" }, { "B-type", "B-value" }, { "C-type", "C-value" }, { "D-type", "D-value" }, { "E-type", "E-value" } }; var authenticateResult = this.CreateAuthenticateResult(new ClaimsPrincipal(new ClaimsIdentity(claims.Build()))); var excludeClaimDecorator = this.CreateExcludeClaimDecorator(); excludeClaimDecorator.IncludeAuthenticationSchemeAsIdentityProviderClaim = false; excludeClaimDecorator.ClaimTypeExclusions.Add("A-type"); excludeClaimDecorator.ClaimTypeExclusions.Add("C-type"); excludeClaimDecorator.ClaimTypeExclusions.Add("E-type"); claims.Clear(); Assert.AreEqual(0, claims.Count); excludeClaimDecorator.DecorateAsync(authenticateResult, "Test", claims, null).Wait(); Assert.AreEqual(2, claims.Count); Assert.IsNotNull(claims.FirstOrDefault(claim => claim.Type == "B-type")); Assert.IsNotNull(claims.FirstOrDefault(claim => claim.Type == "D-type")); }
public void DecorateAsync_ShouldIncludeAllPrincipalClaimsByDefault() { var claims = new ClaimBuilderCollection { { "A-type", "A-value" }, { "B-type", "B-value" }, { "C-type", "C-value" } }; var authenticateResult = this.CreateAuthenticateResult(new ClaimsPrincipal(new ClaimsIdentity(claims.Build()))); var excludeClaimDecorator = this.CreateExcludeClaimDecorator(); excludeClaimDecorator.IncludeAuthenticationSchemeAsIdentityProviderClaim = false; claims.Clear(); Assert.AreEqual(0, claims.Count); excludeClaimDecorator.DecorateAsync(authenticateResult, "Test", claims, null).Wait(); Assert.AreEqual(3, claims.Count); }