public void attribute_places_the_rule() { var chain = BehaviorChain.For <MustBeAuthenticatedTester>(x => x.Go()); chain.Authorization.Policies.Single() .ShouldBeOfType <MustBeAuthenticated>(); }
public void chain_is_aggregated_chain() { BehaviorChain.For <ChainTarget>(x => x.get_B(null)).IsAggregatedChain().ShouldBeTrue(); BehaviorChain.For <ChainTarget>(x => x.get_C1()).IsAggregatedChain().ShouldBeTrue(); BehaviorChain.For <ChainTarget>(x => x.get_C2(null)).IsAggregatedChain().ShouldBeTrue(); BehaviorChain.For <ChainTarget>(x => x.get_not_client()).IsAggregatedChain().ShouldBeFalse(); }
public void SetUp() { _outputPolicy = new AttachOutputPolicy(); _graph = new BehaviorGraph(); _graph.AddChain(BehaviorChain.For <TestEndpoint>(e => e.X())); _graph.AddChain(BehaviorChain.For <TestEndpoint>(e => e.AnyNumber())); _outputPolicy.Configure(_graph); }
public void do_not_apply_conneg_output_to_method_that_returns_HttpStatusCode() { var chain = BehaviorChain.For <ActionJackson>(x => x.CodeFor(null)); chain.ApplyConneg(); chain.HasConnegOutput().ShouldBeFalse(); }
public void DetermineInvoker_for_synchronous_actions() { var chain = BehaviorChain.For <Action2>(x => x.M1()); chain.IsAsynchronous().ShouldBeFalse(); StandardRoutePolicy.DetermineInvoker(theFactory, chain).ShouldBeOfType <BehaviorInvoker>(); }
public void matches_negative() { var chain = BehaviorChain.For <FilterEndpoint>(x => x.get_string()); new ResourceTypeIsAjaxContinuation().Matches(chain).ShouldBeFalse(); chain = BehaviorChain.For <FilterEndpoint>(x => x.get_void()); new ResourceTypeIsAjaxContinuation().Matches(chain).ShouldBeFalse(); }
public void ignores_chains_with_the_no_form_mode_attribute() { var chain = BehaviorChain.For <FormRegistryEndpoint>(x => x.get_ignored()); thePolicies.Add(p1); thePolicies.Add(p2); theRegistry.ModeFor(chain).ShouldEqual(FormMode.None); }
public void DetermineHandlerSource_for_async_and_requires_session() { var chain = BehaviorChain.For <Action3>(x => x.M1Async()); chain.IsAsynchronous().ShouldBeTrue(); StandardRoutePolicy.DetermineHandlerSource(SessionStateRequirement.RequiresSessionState, chain) .ShouldBeOfType <AsynchronousHttpHandlerSource>(); }
public void DetermineHandlerSource_for_synchronous_with_session() { var chain = BehaviorChain.For <Action2>(x => x.M1()); chain.IsAsynchronous().ShouldBeFalse(); StandardRoutePolicy.DetermineHandlerSource(SessionStateRequirement.RequiresSessionState, chain) .ShouldBeOfType <SynchronousHttpHandlerSource>(); }
protected override void beforeEach() { theTarget = BehaviorChain.For <ControllerTarget>(x => x.ZeroInOneOut()); theChain = MockFor <ICurrentChain>(); theInner = MockFor <IActionBehavior>(); Container.Inject(theTarget); ClassUnderTest.InvokePartial(); }
public void zero_in_does_not_apply_a_conneg_node() { var zeroIn = BehaviorChain.For <ActionJackson>(x => x.ZeroInOneOut()); zeroIn.ApplyConneg(); zeroIn.Any(x => x is ConnegInputNode).ShouldBeFalse(); zeroIn.ConnegOutputNode().ShouldNotBeNull(); }
public void when_there_is_only_one_chain_for_that_input_model() { var graph = new BehaviorGraph(null); var chain = BehaviorChain.For <ControllerTarget>(x => x.OneInOneOut(null)); graph.AddChain(chain); graph.IdForType(typeof(Model1)).ShouldEqual(chain.UniqueId); }
public void require_role_attribute() { var chain = BehaviorChain.For <RequireRoleTester>(x => x.Go()); chain.Authorization.HasRules().ShouldBeTrue(); chain.Authorization.Policies.OfType <RequireRole>() .Select(x => x.Role).ShouldHaveTheSameElementsAs("a", "b", "c"); }
public void should_throw_2151_if_the_input_type_has_multiple_possible_behavior_chains() { var graph = new BehaviorGraph(null); graph.AddChain(BehaviorChain.For <ControllerTarget>(x => x.OneInOneOut(null))); graph.AddChain(BehaviorChain.For <ControllerTarget>(x => x.OneInZeroOut(null))); Exception <FubuException> .ShouldBeThrownBy(() => { graph.IdForType(typeof(Model1)); }).ErrorCode.ShouldEqual (2151); }
public void SetUp() { graph = new BehaviorGraph(null); chain1 = BehaviorChain.For <ControllerTarget>(x => x.OneInOneOut(null)); graph.AddChain(chain1); chain2 = BehaviorChain.For <ControllerTarget>(x => x.OneInZeroOut(null)); graph.AddChain(chain2); }
public void SetUp() { theChain = BehaviorChain.For <ActionJackson>(x => x.OneInOneOut(null)); theOutputNode = new OutputNode(typeof(OutputBehavior)); theChain.AddToEnd(theOutputNode); // Nothing up my sleeve theChain.Any(x => x is ConnegNode).ShouldBeFalse(); }
public void SetUp() { explicitChain = BehaviorChain.For <IntegratedSettingsEndpoint>(x => x.get_int()); defaultChain = BehaviorChain.For <IntegratedSettingsEndpoint>(x => x.get_string()); ajaxChain = BehaviorChain.For <IntegratedSettingsEndpoint>(x => x.get_ajax()); theSettings = new FormSettings();; theSettings.ForChainsMatching(new LambdaChainFilter(x => x.ResourceType() == typeof(int)), FormMode.None); theRegistry = theSettings.BuildRegistry(); }
public void SetUp() { theChain = BehaviorChain.For <FormRegistryEndpoint>(x => x.get_test()); var theFilter = MockRepository.GenerateStub <IChainFilter>(); theFilter.Stub(x => x.Matches(theChain)).IgnoreArguments().Return(true); p1 = new FormModePolicy(theFilter, FormMode.None); p2 = new FormModePolicy(theFilter, FormMode.Ajax); thePolicies = new List <FormModePolicy>(); }
public void for_an_input_type() { BehaviorChain chain1 = BehaviorChain.For <ControllerTarget>(x => x.OneInOneOut(null)); graph.AddChain(chain1); var behavior = MockRepository.GenerateMock <IActionBehavior>(); MockFor <IBehaviorFactory>() .Stub(x => x.BuildBehavior(args, chain1.UniqueId)) .Return(behavior); ClassUnderTest.BuildPartial(typeof(Model1)) .ShouldBeTheSameAs(behavior); }
public void SetUp() { theChain = BehaviorChain.For <ActionJackson>(x => x.OneInOneOut(null)); }
public void matches_chains_with_input() { var chain = BehaviorChain.For <HasInputModel>(x => x.Test(null)); theFilter.Matches(chain).ShouldBeTrue(); }
public void does_not_match_chains_without_input() { var chain = BehaviorChain.For <HasInputModel>(x => x.Test()); theFilter.Matches(chain).ShouldBeFalse(); }
public void matches() { var chain = BehaviorChain.For <FilterEndpoint>(x => x.get_ajax()); new ResourceTypeIsAjaxContinuation().Matches(chain).ShouldBeTrue(); }