public void CachingVerifyDisabledNullCacheSettings() { var policyIndex = new CertPolicyIndexStub(); var policyExpression = new KeyUsageExtensionField(false); var emailAddress = new MailAddress(Email); policyIndex.Add(emailAddress.Host, policyExpression); var resolver = new PolicyResolver(policyIndex, null); var source = resolver.GetIncomingPolicy(emailAddress); Assert.Null(resolver.Cache); Assert.True(source.Count > 0); }
private void CachingPolicyNotFound(PolicyResolver resolver, CacheSettings cacheSettings) { var emailAddress = new MailAddress(EmailDoesNotExist); var source = resolver.GetIncomingPolicy(emailAddress); var cached = resolver.Cache.Get(emailAddress.Host); VerifyCertNotFound(source, cached, cacheSettings.NegativeCache); // now get it served from the cache. source = resolver.GetIncomingPolicy(emailAddress); cached = resolver.Cache.Get(emailAddress.Host); VerifyCertNotFound(source, cached, cacheSettings.NegativeCache); }
/// <summary> /// Construct with <see cref="CertPolicyServiceResolverSettingsSection"/> /// </summary> /// <param name="settings"></param> public CertPolicyResolver(CertPolicyServiceResolverSettingsSection settings) { var settings1 = settings; if (settings1.CacheSettings != null && settings1.CacheSettings.Cache) { var cacheSettings = new CacheSettings { Cache = settings1.CacheSettings.Cache, CacheTTLSeconds = settings1.CacheSettings.CacheTTLSeconds, Name = "cerPolicy" }; m_Resolver = new PolicyResolver(new CertPolicyIndex(settings1.ClientSettings), cacheSettings); } else { m_Resolver = new PolicyResolver(new CertPolicyIndex(settings1.ClientSettings), null); } }