public void JwtSecurityTokenHandler_ConfigTests() { JwtHandlerConfigVariation.BuildExpectedRequirements(); for (int i = 0; i < JwtHandlerConfigVariation.RequirementVariations.Count; i++) { RunTestCase(i.ToString()); } }
private void VerifyConfig(IdentityConfiguration identityconfig, JwtHandlerConfigVariation variation) { if (variation.ExpectedSecurityTokenHandler != null) { JwtSecurityTokenHandler handler = identityconfig.SecurityTokenHandlers[typeof(JwtSecurityToken)] as JwtSecurityTokenHandler; if (variation.ExpectedJwtSecurityTokenRequirement != null) { Assert.IsFalse(!variation.ExpectedJwtSecurityTokenRequirement.AsExpected(handler.JwtSecurityTokenRequirement), "JwtSecurityTokenRequirement was not as expected"); } } }
protected override string GetConfiguration(string variationId) { JwtHandlerConfigVariation variation = JwtHandlerConfigVariation.Variation(variationId); string config = @"<system.identityModel><identityConfiguration><securityTokenHandlers>" + variation.ExpectedJwtSecurityTokenRequirement.Config + @"</securityTokenHandlers></identityConfiguration></system.identityModel>"; Console.WriteLine(string.Format("\n===================================\nTesting variation: '{0}'\nConfig:\n{1}", variationId, config)); return(config); }
protected override void ValidateTestCase(string variationId) { JwtHandlerConfigVariation variation = JwtHandlerConfigVariation.Variation(variationId); try { IdentityConfiguration identityConfig = new IdentityConfiguration(IdentityConfiguration.DefaultServiceName); ExpectedException.ProcessNoException(variation.ExpectedJwtSecurityTokenRequirement.ExpectedException); VerifyConfig(identityConfig, variation); } catch (Exception ex) { ExpectedException.ProcessException(variation.ExpectedJwtSecurityTokenRequirement.ExpectedException, ex); } }
protected override void ValidateTestCase(string variationId) { ExpectedJwtSecurityTokenRequirement variation = JwtHandlerConfigVariation.Variation(variationId); try { IdentityConfiguration identityConfig = new IdentityConfiguration(IdentityConfiguration.DefaultServiceName); variation.ExpectedException.ProcessNoException(); VerifyConfig(identityConfig, variation); } catch (Exception ex) { try { variation.ExpectedException.ProcessException(ex); } catch (Exception innerException) { Assert.Fail("\nConfig case failed:\n'{0}'\nConfig:\n'{1}'\nException:\n'{2}'.", variationId, variation.Config, innerException.ToString()); } } }