示例#1
0
        public void NodeTest()
        {
            int absoluteExpiration        = 72;
            CacheManagerNode cacheManager = new CacheManagerNode();
            int slidingExpiration         = 13;

            CachingStoreProviderNode node = new CachingStoreProviderNode();

            GeneratedApplicationNode.Nodes.Add(node);
            Assert.AreEqual(SR.SecurityInstance, node.Name);

            node.AbsoluteExpiration = absoluteExpiration;
            Assert.AreEqual(absoluteExpiration, node.AbsoluteExpiration);

            node.CacheManager = cacheManager;
            Assert.AreEqual(cacheManager, node.CacheManager);

            node.SlidingExpiration = slidingExpiration;
            Assert.AreEqual(slidingExpiration, node.SlidingExpiration);

            CachingStoreProviderData data = (CachingStoreProviderData)node.SecurityCacheProviderData;

            Assert.AreEqual(absoluteExpiration, data.AbsoluteExpiration);
            Assert.AreEqual(cacheManager.Name, data.CacheManager);
            Assert.AreEqual(slidingExpiration, data.SlidingExpiration);
        }
        public void DataTest()
        {
            string           name         = "testName";
            CacheStorageData cacheStorage = new CustomCacheStorageData();

            cacheStorage.Name     = "testCacheStorageName";
            cacheStorage.TypeName = "fakeType";
            int expirationPollFrequencyInSeconds       = 30;
            int maximumElementsInCacheBeforeScavenging = 5;
            int numberToRemoveWhenScavenging           = 8;

            CacheManagerData data = new CacheManagerData();

            data.Name         = name;
            data.CacheStorage = cacheStorage;
            data.ExpirationPollFrequencyInSeconds       = expirationPollFrequencyInSeconds;
            data.MaximumElementsInCacheBeforeScavenging = maximumElementsInCacheBeforeScavenging;
            data.NumberToRemoveWhenScavenging           = numberToRemoveWhenScavenging;
            data.CacheStorage = cacheStorage;

            CacheManagerNode node = new CacheManagerNode(data);

            applicationNode.Nodes.Add(node);
            CacheManagerData nodeData = node.CacheManagerData;

            Assert.AreEqual(name, nodeData.Name);
            Assert.AreEqual(expirationPollFrequencyInSeconds, nodeData.ExpirationPollFrequencyInSeconds);
            Assert.AreEqual(maximumElementsInCacheBeforeScavenging, nodeData.MaximumElementsInCacheBeforeScavenging);
            Assert.AreEqual(numberToRemoveWhenScavenging, nodeData.NumberToRemoveWhenScavenging);
            Assert.AreEqual(cacheStorage.Name, nodeData.CacheStorage.Name);
            Assert.AreEqual(cacheStorage.TypeName, nodeData.CacheStorage.TypeName);
        }
        public void DataTest()
        {
            string name = "testName";
            CacheStorageData cacheStorage = new CustomCacheStorageData();
            cacheStorage.Name = "testCacheStorageName";
            cacheStorage.TypeName = "fakeType";
            int expirationPollFrequencyInSeconds = 30;
            int maximumElementsInCacheBeforeScavenging = 5;
            int numberToRemoveWhenScavenging = 8;

            CacheManagerData data = new CacheManagerData();
            data.Name = name;
            data.CacheStorage = cacheStorage;
            data.ExpirationPollFrequencyInSeconds = expirationPollFrequencyInSeconds;
            data.MaximumElementsInCacheBeforeScavenging = maximumElementsInCacheBeforeScavenging;
            data.NumberToRemoveWhenScavenging = numberToRemoveWhenScavenging;
            data.CacheStorage = cacheStorage;

            CacheManagerNode node = new CacheManagerNode(data);
            applicationNode.Nodes.Add(node);
            CacheManagerData nodeData = node.CacheManagerData;
            Assert.AreEqual(name, nodeData.Name);
            Assert.AreEqual(expirationPollFrequencyInSeconds, nodeData.ExpirationPollFrequencyInSeconds);
            Assert.AreEqual(maximumElementsInCacheBeforeScavenging, nodeData.MaximumElementsInCacheBeforeScavenging);
            Assert.AreEqual(numberToRemoveWhenScavenging, nodeData.NumberToRemoveWhenScavenging);
            Assert.AreEqual(cacheStorage.Name, nodeData.CacheStorage.Name);
            Assert.AreEqual(cacheStorage.TypeName, nodeData.CacheStorage.TypeName);
        }
示例#4
0
        public void OpenAndSaveConfiguration()
        {
            ApplicationNode.Hierarchy.Load();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
            ApplicationNode.Hierarchy.Open();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);

            CacheManagerSettingsNode rootNode = (CacheManagerSettingsNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(CacheManagerSettingsNode));

            Assert.IsNotNull(rootNode);
            Assert.AreEqual("ShortInMemoryPersistence", rootNode.DefaultCacheManager.Name);

            Assert.AreEqual(1, Hierarchy.FindNodesByType(ApplicationNode, typeof(CacheManagerSettingsNode)).Count);
            Assert.AreEqual(2, Hierarchy.FindNodesByType(ApplicationNode, typeof(CacheManagerNode)).Count);
            Assert.AreEqual(1, Hierarchy.FindNodesByType(ApplicationNode, typeof(CacheStorageNode)).Count);

            Hierarchy.Load();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
            Hierarchy.Open();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
            CacheManagerCollectionNode cacheManagerCollectionNode = (CacheManagerCollectionNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(CacheManagerCollectionNode));

            CacheManagerNode cacheManagerNode = new CacheManagerNode();

            cacheManagerCollectionNode.AddNode(cacheManagerNode);
            AddDataCacheStorageCommand cmd = new AddDataCacheStorageCommand(ServiceProvider);

            cmd.Execute(cacheManagerNode);
            DataCacheStorageNode         dataNode    = (DataCacheStorageNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(DataCacheStorageNode));
            ConnectionStringSettingsNode connectNode = (ConnectionStringSettingsNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(ConnectionStringSettingsNode));

            dataNode.DatabaseInstance = connectNode;
            dataNode.PartitionName    = "foo";

            Assert.AreEqual(1, Hierarchy.FindNodesByType(ApplicationNode, typeof(DatabaseSectionNode)).Count);

            Hierarchy.Save();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);

            Hierarchy.Load();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
            Hierarchy.Open();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);

            Assert.AreEqual(1, Hierarchy.FindNodesByType(ApplicationNode, typeof(DataCacheStorageNode)).Count);

            dataNode = (DataCacheStorageNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(DataCacheStorageNode));
            Assert.AreEqual(dataNode.DatabaseInstance.Name, connectNode.Name);
            Assert.AreEqual(dataNode.PartitionName, "foo");

            DatabaseSectionNode databaseSectionNode = (DatabaseSectionNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(DatabaseSectionNode));

            databaseSectionNode.Remove();

            dataNode.Remove();
            Hierarchy.Save();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
        }
        public void MakeSureThatYouCanOnlyAddOneCacheManagerCollectionNode()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();
            applicationNode.Nodes.Add(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();
            applicationNode.Nodes.AddWithDefaultChildren(node);
            CacheManagerCollectionNode collectionNode = new CacheManagerCollectionNode();
            node.Nodes.Add(collectionNode);
        }
        public void MakeSureThatYouCanOnlyAddOneCacheManagerCollectionNode()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();
            ApplicationNode.AddNode(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();
            ApplicationNode.AddNode(node);
            CacheManagerCollectionNode collectionNode = new CacheManagerCollectionNode();
            node.AddNode(collectionNode);
            node.AddNode(new CacheManagerCollectionNode());
        }
示例#7
0
        public void AddCacheStorageProviderNodeCommandAdsCacheManagerIfNotExists()
        {
            AddCachingStoreProviderNodeCommand command = new AddCachingStoreProviderNodeCommand(ServiceProvider);

            command.Execute(ApplicationNode);

            CacheManagerNode         cacheManager         = (CacheManagerNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(CacheManagerNode));
            CachingStoreProviderNode securityCachingStore = (CachingStoreProviderNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(CachingStoreProviderNode));

            Assert.IsNotNull(Hierarchy.FindNodeByType(ApplicationNode, typeof(CacheManagerSettingsNode)));
            Assert.AreEqual(cacheManager, securityCachingStore.CacheManager);
        }
        public void NodeTest()
        {
            CacheManagerCollectionNode node = new CacheManagerCollectionNode();
            applicationNode.Nodes.Add(node);
            Assert.AreEqual(SR.DefaultCacheManagerCollectionNodeName, node.Name);

            CacheManagerNode cacheManagerNode = new CacheManagerNode();
            node.Nodes.Add(cacheManagerNode);
            cacheManagerNode.Name = "tesotvetyevt";

            CacheManagerDataCollection managers = node.CacheManagerDataCollection;
            Assert.IsNotNull(managers[cacheManagerNode.Name]);
        }
        public void CacheManagerSettingsNodeTest()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();
            ApplicationNode.AddNode(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();
            ApplicationNode.AddNode(node);
            Assert.AreEqual("Caching Application Block", node.Name);

            node.DefaultCacheManager = defaultCacheManager;
            Assert.AreEqual(defaultCacheManager, node.DefaultCacheManager);
        }
示例#10
0
        public void MakeSureThatYouCanOnlyAddOneCacheManagerCollectionNode()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();

            applicationNode.Nodes.Add(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();

            applicationNode.Nodes.AddWithDefaultChildren(node);
            CacheManagerCollectionNode collectionNode = new CacheManagerCollectionNode();

            node.Nodes.Add(collectionNode);
        }
示例#11
0
        public void CacheManagerSettingsNodeTest()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();

            ApplicationNode.AddNode(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();

            ApplicationNode.AddNode(node);
            Assert.AreEqual("Caching Application Block", node.Name);

            node.DefaultCacheManager = defaultCacheManager;
            Assert.AreEqual(defaultCacheManager, node.DefaultCacheManager);
        }
示例#12
0
        public void MakeSureThatYouCanOnlyAddOneCacheManagerCollectionNode()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();

            ApplicationNode.AddNode(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();

            ApplicationNode.AddNode(node);
            CacheManagerCollectionNode collectionNode = new CacheManagerCollectionNode();

            node.AddNode(collectionNode);
            node.AddNode(new CacheManagerCollectionNode());
        }
示例#13
0
        public void EnsureDatabaseSettingsAreAddedOnNewNode()
        {
            AddCacheManagerSettingsNodeCommand cacheCmd = new AddCacheManagerSettingsNodeCommand(ServiceProvider);

            cacheCmd.Execute(Hierarchy.RootNode);

            CacheManagerCollectionNode cacheManagerCollectionNode = (CacheManagerCollectionNode)Hierarchy.FindNodeByType(ApplicationNode, typeof(CacheManagerCollectionNode));
            CacheManagerNode           cacheManagerNode           = new CacheManagerNode();

            cacheManagerCollectionNode.AddNode(cacheManagerNode);
            AddDataCacheStorageCommand cmd = new AddDataCacheStorageCommand(ServiceProvider);

            cmd.Execute(cacheManagerNode);

            Assert.IsNotNull(Hierarchy.FindNodeByType(ApplicationNode, typeof(DatabaseSectionNode)));
        }
        public void NodeTest()
        {
            CacheManagerCollectionNode node = new CacheManagerCollectionNode();

            applicationNode.Nodes.Add(node);
            Assert.AreEqual(SR.DefaultCacheManagerCollectionNodeName, node.Name);

            CacheManagerNode cacheManagerNode = new CacheManagerNode();

            node.Nodes.Add(cacheManagerNode);
            cacheManagerNode.Name = "tesotvetyevt";

            CacheManagerDataCollection managers = node.CacheManagerDataCollection;

            Assert.IsNotNull(managers[cacheManagerNode.Name]);
        }
        public void NodeTest()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();
            applicationNode.Nodes.Add(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();
            applicationNode.Nodes.AddWithDefaultChildren(node);
            Assert.AreEqual(SR.DefaultCacheManagerSettingsNodeName, node.Name);

            node.DefaultCacheManager = defaultCacheManager;
            Assert.AreEqual(defaultCacheManager, node.DefaultCacheManager);

            CacheManagerSettings data = node.CacheManagerSettings;

            Assert.AreEqual(defaultCacheManager.Name, data.DefaultCacheManager);
        }
示例#16
0
        public void NodeTest()
        {
            CacheManagerNode defaultCacheManager = new CacheManagerNode();

            applicationNode.Nodes.Add(defaultCacheManager);
            defaultCacheManager.Name = "testName";

            CacheManagerSettingsNode node = new CacheManagerSettingsNode();

            applicationNode.Nodes.AddWithDefaultChildren(node);
            Assert.AreEqual(SR.DefaultCacheManagerSettingsNodeName, node.Name);

            node.DefaultCacheManager = defaultCacheManager;
            Assert.AreEqual(defaultCacheManager, node.DefaultCacheManager);

            CacheManagerSettings data = node.CacheManagerSettings;

            Assert.AreEqual(defaultCacheManager.Name, data.DefaultCacheManager);
        }
示例#17
0
        /// <summary>
        /// Adds a <see cref="CachingStoreProviderNode"/> and the Caching Application Block if it is not already part of the application.
        /// </summary>
        /// <param name="node">The node to add the <see cref="CachingStoreProviderNode"/> to.</param>
        protected override void ExecuteCore(ConfigurationNode node)
        {
            base.ExecuteCore(node);

            IConfigurationUIHierarchy hierarchy = ServiceHelper.GetCurrentHierarchy(ServiceProvider);

            if (hierarchy.FindNodeByType(typeof(CacheManagerSettingsNode)) == null)
            {
                ConfigurationApplicationNode currentApplicationNode = hierarchy.RootNode;
                if (currentApplicationNode != null)
                {
                    new AddCacheManagerSettingsNodeCommand(ServiceProvider).Execute(currentApplicationNode);

                    CacheManagerNode defaultCacheManager = (CacheManagerNode)hierarchy.FindNodeByType(typeof(CacheManagerNode));
                    if (defaultCacheManager != null && ChildNode != null)
                    {
                        ((CachingStoreProviderNode)ChildNode).CacheManager = defaultCacheManager;
                        hierarchy.SelectedNode = ChildNode;
                    }
                }
            }
        }
示例#18
0
        public void NodeTest()
        {
            int expirationPollFrequencyInSeconds = 30;
            int maximumElementsInCacheBeforeScavenging = 5;
            int numberToRemoveWhenScavenging = 8;
            CacheManagerNode node = new CacheManagerNode();

            node.ExpirationPollFrequencyInSeconds = expirationPollFrequencyInSeconds;
            Assert.AreEqual(expirationPollFrequencyInSeconds, node.ExpirationPollFrequencyInSeconds);

            node.MaximumElementsInCacheBeforeScavenging = maximumElementsInCacheBeforeScavenging;
            Assert.AreEqual(maximumElementsInCacheBeforeScavenging, node.MaximumElementsInCacheBeforeScavenging);

            node.NumberToRemoveWhenScavenging = numberToRemoveWhenScavenging;
            Assert.AreEqual(numberToRemoveWhenScavenging, node.NumberToRemoveWhenScavenging);

            CacheManagerData data = node.CacheManagerData;
            Assert.AreEqual(SR.DefaultCacheManagerNodeName, data.Name);
            Assert.AreEqual(expirationPollFrequencyInSeconds, data.ExpirationPollFrequencyInSeconds);
            Assert.AreEqual(maximumElementsInCacheBeforeScavenging, data.MaximumElementsInCacheBeforeScavenging);
            Assert.AreEqual(numberToRemoveWhenScavenging, data.NumberToRemoveWhenScavenging);
        }
        public void CacheManagerNodeTest()
        {
            int expirationPollFrequencyInSeconds       = 30;
            int maximumElementsInCacheBeforeScavenging = 5;
            int numberToRemoveWhenScavenging           = 8;
            CacheManagerNode node = new CacheManagerNode();

            node.ExpirationPollFrequencyInSeconds = expirationPollFrequencyInSeconds;
            Assert.AreEqual(expirationPollFrequencyInSeconds, node.ExpirationPollFrequencyInSeconds);

            node.MaximumElementsInCacheBeforeScavenging = maximumElementsInCacheBeforeScavenging;
            Assert.AreEqual(maximumElementsInCacheBeforeScavenging, node.MaximumElementsInCacheBeforeScavenging);

            node.NumberToRemoveWhenScavenging = numberToRemoveWhenScavenging;
            Assert.AreEqual(numberToRemoveWhenScavenging, node.NumberToRemoveWhenScavenging);

            CacheManagerData data = node.CacheManagerData;

            Assert.AreEqual("Cache Manager", data.Name);
            Assert.AreEqual(expirationPollFrequencyInSeconds, data.ExpirationPollFrequencyInSeconds);
            Assert.AreEqual(maximumElementsInCacheBeforeScavenging, data.MaximumElementsInCacheBeforeScavenging);
            Assert.AreEqual(numberToRemoveWhenScavenging, data.NumberToRemoveWhenScavenging);
        }
示例#20
0
 private void OnCacheManagerNodeRemoved(object sender, ConfigurationNodeChangedEventArgs e)
 {
     this.cacheManagerNode = null;
 }