예제 #1
0
        public void CryptographySettingsNodeName()
        {
            CryptographySettingsNode cryptoSettingsNode = new CryptographySettingsNode();

            Assert.AreEqual("Cryptography Application Block", cryptoSettingsNode.Name);
            Assert.IsTrue(CommonUtil.IsPropertyReadOnly(typeof(CryptographySettingsNode), "Name"));
        }
        public void OpenAndSaveConfiguration()
        {
            ApplicationNode.Hierarchy.Load();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);
            ApplicationNode.Hierarchy.Open();
            Assert.AreEqual(0, ErrorLogService.ConfigurationErrorCount);

            CryptographySettingsNode rootNode = (CryptographySettingsNode)ApplicationNode.Hierarchy.FindNodeByType(typeof(CryptographySettingsNode));

            Assert.IsNotNull(rootNode);
            Assert.AreEqual("dpapiSymmetric1", rootNode.DefaultSymmetricCryptoProvider.Name);
            Assert.AreEqual("hashAlgorithm1", rootNode.DefaultHashProvider.Name);

            Assert.AreEqual(1, ApplicationNode.Hierarchy.FindNodesByType(typeof(CryptographySettingsNode)).Count);
            Assert.AreEqual(1, ApplicationNode.Hierarchy.FindNodesByType(typeof(HashAlgorithmProviderNode)).Count);
            Assert.AreEqual(1, ApplicationNode.Hierarchy.FindNodesByType(typeof(DpapiSymmetricCryptoProviderNode)).Count);


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

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

            Assert.AreEqual(1, ApplicationNode.Hierarchy.FindNodesByType(typeof(CryptographySettingsNode)).Count);
            Assert.AreEqual(1, ApplicationNode.Hierarchy.FindNodesByType(typeof(HashAlgorithmProviderNode)).Count);
            Assert.AreEqual(1, ApplicationNode.Hierarchy.FindNodesByType(typeof(DpapiSymmetricCryptoProviderNode)).Count);
        }
        public void CryptographySettingsNodeName()
        {
            CryptographySettingsNode cryptoSettingsNode = new CryptographySettingsNode();

            Assert.AreEqual("Cryptography Application Block", cryptoSettingsNode.Name);
            Assert.IsTrue(CommonUtil.IsPropertyReadOnly(typeof(CryptographySettingsNode), "Name"));
        }
        public void CryptographySettingsNodeTest()
        {
            CustomHashProviderNode defaultHashProviderNode = new CustomHashProviderNode();
            ApplicationNode.AddNode(defaultHashProviderNode);

            CustomSymmetricCryptoProviderNode defaultSymmetricCryptoProviderNode = new CustomSymmetricCryptoProviderNode();
            ApplicationNode.AddNode(defaultSymmetricCryptoProviderNode);

            CryptographySettingsNode node = new CryptographySettingsNode();
            ApplicationNode.AddNode(node);

            node.DefaultHashProvider = defaultHashProviderNode;
            node.DefaultSymmetricCryptoProvider = defaultSymmetricCryptoProviderNode;

            Assert.AreEqual(defaultHashProviderNode, node.DefaultHashProvider);
            Assert.AreEqual(defaultSymmetricCryptoProviderNode, node.DefaultSymmetricCryptoProvider);
        }
예제 #5
0
        public void CryptographySettingsNodeTest()
        {
            CustomHashProviderNode defaultHashProviderNode = new CustomHashProviderNode();

            ApplicationNode.AddNode(defaultHashProviderNode);

            CustomSymmetricCryptoProviderNode defaultSymmetricCryptoProviderNode = new CustomSymmetricCryptoProviderNode();

            ApplicationNode.AddNode(defaultSymmetricCryptoProviderNode);

            CryptographySettingsNode node = new CryptographySettingsNode();

            ApplicationNode.AddNode(node);

            node.DefaultHashProvider            = defaultHashProviderNode;
            node.DefaultSymmetricCryptoProvider = defaultSymmetricCryptoProviderNode;

            Assert.AreEqual(defaultHashProviderNode, node.DefaultHashProvider);
            Assert.AreEqual(defaultSymmetricCryptoProviderNode, node.DefaultSymmetricCryptoProvider);
        }
예제 #6
0
        private bool CryptographySettingsNodeExists()
        {
            CryptographySettingsNode node = Hierarchy.FindNodeByType(typeof(CryptographySettingsNode)) as CryptographySettingsNode;

            return(node != null);
        }
예제 #7
0
        public void CryptographySettingsNodeIsNotSorted()
        {
            CryptographySettingsNode cryptoSettingsNode = new CryptographySettingsNode();

            Assert.IsFalse(cryptoSettingsNode.SortChildren);
        }
 public void CryptographySettingsNodeIsNotSorted()
 {
     CryptographySettingsNode cryptoSettingsNode = new CryptographySettingsNode();
     Assert.IsFalse(cryptoSettingsNode.SortChildren);
 }
        public void SaveDefaultAuthenticationProviderAndSaveAndReloadsCorrectly()
        {
            GeneratedHierarchy.Load();

            AddConfigurationSectionCommand cmd = new AddConfigurationSectionCommand(Host, typeof(SecuritySettingsNode), SecuritySettings.SectionName);

            cmd.Execute(GeneratedApplicationNode);

            SecuritySettingsNode securitySettingsNode = GeneratedHierarchy.FindNodeByType(typeof(SecuritySettingsNode)) as SecuritySettingsNode;

            Assert.IsNotNull(securitySettingsNode);
            AuthenticationProviderCollectionNode authenticationProviderCollectionNode = GeneratedHierarchy.FindNodeByType(securitySettingsNode, typeof(AuthenticationProviderCollectionNode)) as AuthenticationProviderCollectionNode;

            Assert.IsNotNull(authenticationProviderCollectionNode);

            AddChildNodeCommand addChildNodeCommand = new AddChildNodeCommand(Host, typeof(DbAuthenticationProviderNode));

            addChildNodeCommand.Execute(authenticationProviderCollectionNode);
            Assert.AreEqual(typeof(DbAuthenticationProviderNode), addChildNodeCommand.ChildNode.GetType());
            DbAuthenticationProviderNode dbAuthenticationProviderNode = (DbAuthenticationProviderNode)addChildNodeCommand.ChildNode;

            securitySettingsNode.DefaultAuthenticationInstance = (AuthenticationProviderNode)addChildNodeCommand.ChildNode;

            addChildNodeCommand = new AddChildNodeCommand(Host, typeof(HashAlgorithmProviderNode));
            CryptographySettingsNode cryptographySettingsNode = GeneratedHierarchy.FindNodeByType(typeof(CryptographySettingsNode)) as CryptographySettingsNode;

            Assert.IsNotNull(cryptographySettingsNode);
            HashProviderCollectionNode hashProviderCollectionNode = GeneratedHierarchy.FindNodeByType(typeof(HashProviderCollectionNode)) as HashProviderCollectionNode;

            Assert.IsNotNull(hashProviderCollectionNode);
            addChildNodeCommand.Execute(hashProviderCollectionNode);
            Assert.AreEqual(typeof(HashAlgorithmProviderNode), addChildNodeCommand.ChildNode.GetType());

            dbAuthenticationProviderNode.HashProvider = (HashProviderNode)addChildNodeCommand.ChildNode;

            DatabaseSettingsNode databaseSettingsNode = GeneratedHierarchy.FindNodeByType(typeof(DatabaseSettingsNode)) as DatabaseSettingsNode;

            Assert.IsNotNull(databaseSettingsNode);
            InstanceCollectionNode instanceCollectionNode = GeneratedHierarchy.FindNodeByType(databaseSettingsNode, typeof(InstanceCollectionNode)) as InstanceCollectionNode;

            Assert.IsNotNull(instanceCollectionNode);
            Assert.IsTrue(instanceCollectionNode.Nodes.Count > 0);
            InstanceNode instanceNode = (InstanceNode)instanceCollectionNode.Nodes[0];

            dbAuthenticationProviderNode.Database = instanceNode;

            ValidateNodeCommand validateNodeCommand = new ValidateNodeCommand(Host);

            validateNodeCommand.Execute(GeneratedApplicationNode);
            Assert.AreEqual(0, ConfigurationErrorsCount);

            SaveApplicationConfigurationNodeCommand saveCmd = new SaveApplicationConfigurationNodeCommand(Host);

            saveCmd.Execute(GeneratedApplicationNode);

            ApplicationConfigurationNode applicationConfigurationNode = new ApplicationConfigurationNode(ApplicationData.FromCurrentAppDomain());
            IUIHierarchy hierarchy = CreateHierarchyAndAddToHierarchyService(applicationConfigurationNode, CreateDefaultConfiguration());

            HierarchyService.SelectedHierarchy = hierarchy;
            hierarchy.Open();
        }