[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;
 }
Esempio n. 3
0
        /// <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) { }
     }
 }
 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)
 {
 }