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);
            }
        }
예제 #5
0
        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());
                }
            }
        }