예제 #1
0
        public void CanCreateCustomAttributeMatchingRuleNodeFromData()
        {
            AuthorizationCallHandlerData handlerData = new AuthorizationCallHandlerData();

            handlerData.Name          = "authHandler";
            handlerData.OperationName = "operation";

            AuthorizationCallHandlerNode handlerNode = new AuthorizationCallHandlerNode(handlerData);

            Assert.AreEqual(handlerData.Name, handlerNode.Name);
            Assert.AreEqual(handlerData.OperationName, handlerNode.OperationName);
        }
예제 #2
0
        public void CanCreateRuleDataFromCustomAttributeMatchingRuleNode()
        {
            AuthorizationCallHandlerNode handlerNode = new AuthorizationCallHandlerNode();

            handlerNode.Name          = "authHandler";
            handlerNode.OperationName = "Operation";

            AuthorizationCallHandlerData handlerData = handlerNode.CreateCallHandlerData() as AuthorizationCallHandlerData;

            Assert.IsNotNull(handlerData);
            Assert.AreEqual(handlerNode.Name, handlerData.Name);
            Assert.AreEqual(handlerNode.OperationName, handlerData.OperationName);
        }
예제 #3
0
        public void ShouldBeAbleToMoveHandlers()
        {
            ApplicationNode.Hierarchy.Load();
            ApplicationNode.Hierarchy.Open();
            ConfigurationNode policyInjectionNode =
                ApplicationNode.Hierarchy.FindNodeByType(typeof(PolicyInjectionSettingsNode));
            ConfigurationNode policyCollectionNode =
                policyInjectionNode.Hierarchy.FindNodeByType(typeof(PolicyCollectionNode));

            PolicyNode policy1Node = (PolicyNode)policyCollectionNode.Nodes[0];

            CallHandlersCollectionNode handlersNode =
                (CallHandlersCollectionNode)
                policy1Node.Hierarchy.FindNodeByType(typeof(CallHandlersCollectionNode));
            ExceptionCallHandlerNode     exceptionNode = (ExceptionCallHandlerNode)handlersNode.Nodes[3];
            AuthorizationCallHandlerNode authNode      =
                (AuthorizationCallHandlerNode)handlersNode.Nodes[0];

            ConfigurationNode logNode =
                handlersNode.Hierarchy.FindNodeByType(typeof(LogCallHandlerNode));
            ConfigurationNode validationNode =
                handlersNode.Hierarchy.FindNodeByType(typeof(ValidationCallHandlerNode));

            handlersNode.MoveBefore(exceptionNode, authNode);
            handlersNode.MoveAfter(logNode, validationNode);

            IConfigurationSource configSource = ApplicationNode.Hierarchy.BuildConfigurationSource();

            PolicyInjectionSettings settings =
                (PolicyInjectionSettings)
                configSource.GetSection(PolicyInjectionSettings.SectionName);

            PolicyData policy1Data = settings.Policies.Get(0);

            Assert.IsTrue(policy1Data.Handlers.Get(0) is ExceptionCallHandlerData);
            Assert.IsTrue(policy1Data.Handlers.Get(1) is AuthorizationCallHandlerData);
            Assert.IsTrue(policy1Data.Handlers.Get(policy1Data.Handlers.Count - 2) is ValidationCallHandlerData);
            Assert.IsTrue(policy1Data.Handlers.Get(policy1Data.Handlers.Count - 1) is LogCallHandlerData);
        }
예제 #4
0
        public void AuthorizationCallHandlerNodeHasProperName()
        {
            AuthorizationCallHandlerNode node = new AuthorizationCallHandlerNode();

            Assert.AreEqual("Authorization Handler", node.Name);
        }