[Ignore] //TODO try a different instrumentation mechanism public void CreatedProviderHasCorrectInstrumentationListener() { SecurityCacheProviderFactory factory = new SecurityCacheProviderFactory(GetConfigurationSource()); ISecurityCacheProvider provider = factory.Create("provider1"); Assert.AreEqual(typeof(MockSecurityCacheProvider), provider.GetType()); MockSecurityCacheProvider mockProvider = (MockSecurityCacheProvider)provider; ISecurityCacheProviderInstrumentationProvider instrumentationProvider = mockProvider.GetInstrumentationProvder(); Assert.IsInstanceOfType(instrumentationProvider, typeof(SecurityCacheProviderInstrumentationProvider)); SecurityCacheProviderInstrumentationProvider castedProvider = (SecurityCacheProviderInstrumentationProvider)instrumentationProvider; using (WmiEventWatcher eventWatcher = new WmiEventWatcher(1)) { IToken token = new GuidToken(); castedProvider.FireSecurityCacheReadPerformed(SecurityEntityType.Identity, token); eventWatcher.WaitForEvents(); Assert.AreEqual(1, eventWatcher.EventsReceived.Count); Assert.AreEqual("SecurityCacheReadPerformedEvent", eventWatcher.EventsReceived[0].ClassPath.ClassName); Assert.AreEqual(SecurityEntityType.Identity.ToString(), eventWatcher.EventsReceived[0].Properties["EntityType"].Value); Assert.AreEqual("provider1", eventWatcher.EventsReceived[0].Properties["InstanceName"].Value); Assert.AreEqual(token.Value, eventWatcher.EventsReceived[0].Properties["TokenUsed"].Value); } }
/// <summary> /// <para>Initialize a new instance of the <see cref="CachingStoreProvider"/> class with a specific <see cref="ISecurityCacheProviderInstrumentationProvider"/>.</para> /// </summary> public CachingStoreProvider(int slidingExpiration, int absoluteExpiration, ICacheManager securityCacheManager, ISecurityCacheProviderInstrumentationProvider instrumentationProvider) :base(instrumentationProvider) { this.slidingExpiration = slidingExpiration; this.absoluteExpiration = absoluteExpiration; this.securityCacheManager = securityCacheManager; }
/// <summary> /// Initializes a new instance of the <see cref="SecurityCacheProvider"/> class. /// </summary> /// <param name="instrumentationProvider">The instrumentation provider to use.</param> protected SecurityCacheProvider(ISecurityCacheProviderInstrumentationProvider instrumentationProvider) { if (instrumentationProvider == null) { throw new ArgumentNullException("instrumentationProvider"); } this.instrumentationProvider = instrumentationProvider; }
void FireSecurityCacheReadPerformed(ISecurityCacheProviderInstrumentationProvider instrumentationProvider) { for (int i = 0; i < numberOfEvents; i++) { try { instrumentationProvider.FireSecurityCacheReadPerformed(SecurityEntityType.Identity, null); } catch (Exception) { } } }
/// <summary> /// Initializes a new instance of the <see cref="SecurityCacheProvider"/> class. /// </summary> /// <param name="instrumentationProvider">The instrumentation provider to use.</param> protected SecurityCacheProvider(ISecurityCacheProviderInstrumentationProvider instrumentationProvider) { if (instrumentationProvider == null) throw new ArgumentNullException("instrumentationProvider"); this.instrumentationProvider = instrumentationProvider; }
public MockSecurityCacheProvider(ISecurityCacheProviderInstrumentationProvider instrumentationProvider) :base(instrumentationProvider) { }
/// <summary> /// <para>Initialize a new instance of the <see cref="CachingStoreProvider"/> class with a specific <see cref="ISecurityCacheProviderInstrumentationProvider"/>.</para> /// </summary> public CachingStoreProvider(int slidingExpiration, int absoluteExpiration, ICacheManager securityCacheManager, ISecurityCacheProviderInstrumentationProvider instrumentationProvider) : base(instrumentationProvider) { this.slidingExpiration = slidingExpiration; this.absoluteExpiration = absoluteExpiration; this.securityCacheManager = securityCacheManager; }
public MockSecurityCacheProvider(ISecurityCacheProviderInstrumentationProvider instrumentationProvider) : base(instrumentationProvider) { }