Exemplo n.º 1
0
        protected override void beforeEach()
        {
            expectedContinuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.Accepted);
            MockFor <ILogoutSuccessHandler>().Stub(x => x.LoggedOut()).Return(expectedContinuation);

            theContinuation = ClassUnderTest.Logout(null);
        }
Exemplo n.º 2
0
        public void perform_invoke_processes_handler()
        {
            //Arrange
            var urlRegistry  = MockRepository.GenerateStub <IUrlRegistry>();
            var outputWriter = MockRepository.GenerateStub <IOutputWriter>();
            var fubuRequest  = MockRepository.GenerateStub <IFubuRequest>();
            var continuation = FubuContinuation.TransferTo(new object());

            fubuRequest.Stub(r => r.Get <FubuContinuation>()).Return(continuation);
            fubuRequest.Stub(r => r.Find <IRedirectable>()).Return(new IRedirectable[0]);

            var partialFactory  = MockRepository.GenerateStub <IPartialFactory>();
            var partialBehavior = MockRepository.GenerateStub <IActionBehavior>();

            partialFactory.Stub(f => f.BuildPartial(typeof(object))).Return(partialBehavior);
            var handler        = new ContinuationHandler(urlRegistry, outputWriter, fubuRequest, partialFactory);
            var insideBehavior = MockRepository.GenerateStub <IActionBehavior>();

            handler.InsideBehavior = insideBehavior;

            //Act
            handler.Invoke();

            //Assert TransferTo was called by _request.Get<FubuContinuation>().Process(this);
            partialFactory.AssertWasCalled(f => f.BuildPartial(typeof(object)));
            partialBehavior.AssertWasCalled(p => p.InvokePartial());
            //Assert performInvoke() returned Stop
            insideBehavior.AssertWasNotCalled(b => b.Invoke());
        }
Exemplo n.º 3
0
 public FubuContinuation Redirect()
 {
     return(FubuContinuation.RedirectTo(new LoginRequest
     {
         Url = _currentRequest.RelativeUrl()
     }, "GET"));
 }
Exemplo n.º 4
0
        private void buildPolicy(FubuContinuation continuation)
        {
            var policy = _policies.AddType(typeof(FubuContinuationFailurePolicy));

            policy.DependencyByValue(typeof(Func <Type, bool>), _predicate);
            policy.DependencyByValue(typeof(FubuContinuation), continuation);
        }
Exemplo n.º 5
0
        public void destination_returns_destination_object()
        {
            var destination  = new object();
            var continuation = FubuContinuation.TransferTo(destination);

            continuation.Destination <object>().ShouldBe(destination);
        }
 public void is_deterministic_if_success_is_false_but_there_is_a_continuation()
 {
     new AuthResult {
         Continuation = FubuContinuation.RedirectTo("somewhere")
     }
     .IsDeterministic().ShouldBeTrue();
 }
        public FubuContinuation Index()
        {
            //return FubuContinuation.RedirectTo<ServiceEndpoints>(x => x.get_services_byname());

            //return FubuContinuation.RedirectTo<ModelBindingSampleEndpoint>(x => x.get_deep_data());

            //return FubuContinuation.RedirectTo(new DebugRequest{
            //    FubuDebug = true
            //});

            //var chain = _graph.BehaviorFor<EndpointExplorerEndpoint>(x => x.get_endpoints(null));

            return(FubuContinuation.RedirectTo <ModelBindingEndpoints>(x => x.get_binding_all()));

            //return FubuContinuation.RedirectTo<EndpointExplorerEndpoint>(x => x.get_endpoints(null));


            //return FubuContinuation.RedirectTo<DescriptionEndpoints>(x => x.get_descriptions());

            //return FubuContinuation.RedirectTo(new ChainDetailsRequest
            //{
            //    Id = chain.UniqueId
            //});

//            return FubuContinuation.RedirectTo<RequestsEndpoint>(x => x.get_requests());

            //var chain = _graph.BehaviorFor<EndpointExplorerEndpoint>(x => x.get_endpoints(null));


            //return FubuContinuation.RedirectTo(new ChainRequest
            //{
            //    Id = chain.UniqueId
            //});

            //_document.Title = "FubuMVC.Diagnostics Harness";

            //_document.Asset("twitterbootstrap");

            //_document.Add("a").Text("Diagnostics Home Page").Attr("href","_fubu");

            //_graph.Behaviors.Each(chain =>
            //{
            //    if (chain.Route != null)
            //    {
            //        _document.Add("p").Add("a").Text(chain.Route.Pattern).Attr("href", chain.GetRoutePattern());
            //    }
            //});


            //var dashboardChain = _graph.BehaviorFor<RequestsEndpoint>(x => x.get_requests(null));
            //var literal = new LiteralTag(_document.Visualize(dashboardChain));

            //_document.Add("hr");
            //_document.Add(literal);


            //_document.WriteAssetsToHead();

            //return _document;
        }
Exemplo n.º 8
0
        public FubuContinuation Matches(ETaggedRequest request)
        {
            var current = _cache.Current(request.ResourceHash);

            return(current.IsNotEmpty() && current == request.IfNoneMatch
                       ? FubuContinuation.EndWithStatusCode(HttpStatusCode.NotModified)
                       : FubuContinuation.NextBehavior());
        }
Exemplo n.º 9
0
 public void FailedUser(FubuContinuation redirection = null)
 {
     _result.Success = false;
     if (redirection != null)
     {
         _result.Continuation = redirection;
     }
 }
Exemplo n.º 10
0
        public FubuContinuation Login(LoginRequestModel model)
        {
            _session[CurrentLoginStatus.Key] = new CurrentLoginStatus {
                UserName = "******"
            };

            return(FubuContinuation.RedirectTo(new HomeInputModel()));
        }
Exemplo n.º 11
0
        public FubuContinuation post_create(Create todo)
        {
            var todoToCreate = new Domain.Todo(todo.Name, todo.IsComplete);

            _toDoService.Create(todoToCreate);

            return(FubuContinuation.RedirectTo <TodoEndpoint>(endpoint => endpoint.get_list()));
        }
Exemplo n.º 12
0
        public FubuContinuation post_edit_task(UpdateInputModel input)
        {
            string oldTask = _context.GetTask(input.Id).task1;

            _context.UpdateTask(input.Id, input.Task);

            return(FubuContinuation.RedirectTo <HomeEndpoint>(x => x.get_index(new HomeViewModel())));
        }
Exemplo n.º 13
0
 public FubuContinuationFailurePolicy(Func <Type, bool> predicate, IFubuRequest request,
                                      FubuContinuation continuation, ContinuationHandler handler)
 {
     _predicate    = predicate;
     _handler      = handler;
     _continuation = continuation;
     _request      = request;
 }
Exemplo n.º 14
0
        public FubuContinuation Execute(RestfulCreateRequest <TEntity> request)
        {
            var collection = _session.GetCollection <TEntity>();

            collection.Save(request.Entity);

            return(FubuContinuation.RedirectTo(new RestfulIndexRequest <TEntity>()));
        }
Exemplo n.º 15
0
 public Task <FubuContinuation> BadDreamAsync()
 {
     return(Task <FubuContinuation> .Factory.StartNew(() =>
     {
         Thread.Sleep(1000);
         return FubuContinuation.RedirectTo <AirRequest>();
     }, TaskCreationOptions.AttachedToParent));
 }
Exemplo n.º 16
0
        public FubuContinuation Redirect()
        {
            var continuation = BuildAjaxContinuation();

            _outputWriter.Write(MimeType.Json, JsonUtil.ToJson(continuation.ToDictionary()));

            return(FubuContinuation.EndWithStatusCode(HttpStatusCode.Unauthorized));
        }
Exemplo n.º 17
0
 public FubuContinuation Get(LogoffRequest request)
 {
     _authenticationContext.SignOut();
     return(FubuContinuation.RedirectTo(new LoginRequest()
     {
         ReturnUrl = "/"
     }));
 }
 public FubuContinuationFailurePolicy(Func<Type, bool> predicate, IFubuRequest request, 
     FubuContinuation continuation, ContinuationHandler handler)
 {
     _predicate = predicate;
     _handler = handler;
     _continuation = continuation;
     _request = request;
 }
Exemplo n.º 19
0
        public void assert_redirected_to_by_method_respects_category()
        {
            var continuation = FubuContinuation.RedirectTo <ControllerTarget>(x => x.OneInOneOut(null), "PUT");

            continuation.AssertWasRedirectedTo <ControllerTarget>(x => x.OneInOneOut(null), "PUT");

            shouldFail(() => continuation.AssertWasRedirectedTo <ControllerTarget>(x => x.OneInOneOut(null), "GET"));
            shouldFail(() => continuation.AssertWasRedirectedTo <ControllerTarget>(x => x.OneInOneOut(null)));
        }
Exemplo n.º 20
0
        protected override void beforeEach()
        {
            thePrincipal    = new WindowsPrincipal(WindowsIdentity.GetAnonymous());
            theContinuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.Accepted);
            theRequest      = new WindowsSignInRequest();

            MockFor <IWindowsAuthenticationContext>().Stub(x => x.Current()).Return(thePrincipal);
            MockFor <IWindowsAuthentication>().Stub(x => x.Authenticate(theRequest, thePrincipal)).Return(theContinuation);
        }
Exemplo n.º 21
0
 public FubuContinuation LogOnCommand(LogOnModel input)
 {
     if (_membershipService.UserExists(input.UserName, input.Password))
     {
         _authenticationContext.ThisUserHasBeenAuthenticated(input.UserName, input.RememberMe);
         return(FubuContinuation.RedirectTo <IndexInput>());
     }
     return(FubuContinuation.TransferTo <LogOnInput>());
 }
Exemplo n.º 22
0
        public FubuContinuation Execute(RestfulDeleteRequest <TEntity> request)
        {
            var       collection = _session.Session.GetCollection <TEntity>(typeof(TEntity).Name.ToLowerInvariant());
            BsonValue id         = new BsonObjectId(request.Id);
            var       query      = Query.EQ("_id", id);

            collection.Remove(query);
            return(FubuContinuation.RedirectTo(new RestfulIndexRequest <TEntity>()));
        }
        public FubuContinuation FilterInput(PartialInput input)
        {
            if (input.Redirect)
            {
                return(FubuContinuation.TransferTo <PartialEndpoints>(x => x.get_filtered_transferred()));
            }

            return(FubuContinuation.NextBehavior());
        }
		public FubuContinuation Filter()
		{
			if (!_currentChain.IsInPartial())
			{
				_authentication.TryToApply();
			}

			return FubuContinuation.NextBehavior();
		}
Exemplo n.º 25
0
        public void Continue_just_continues()
        {
            FubuContinuation continuation = FubuContinuation.NextBehavior();

            continuation.Type.ShouldBe(ContinuationType.NextBehavior);

            continuation.Process(director);
            director.AssertWasCalled(x => x.InvokeNextBehavior());
        }
Exemplo n.º 26
0
        protected override void theContextIs()
        {
            call    = ActionCall.For <ControllerTarget>(x => x.ZeroInOneOut());
            partial = MockRepository.GenerateMock <IActionBehavior>();

            MockFor <IPartialFactory>().Expect(x => x.BuildPartial(call)).Return(partial);

            ProcessContinuation(FubuContinuation.TransferTo <ControllerTarget>(x => x.ZeroInOneOut()));
        }
Exemplo n.º 27
0
        protected override void theContextIs()
        {
            theUrl = "some/path/1";
            call   = ActionCall.For <ControllerTarget>(x => x.ZeroInOneOut());

            MockFor <IUrlRegistry>().Expect(x => x.UrlFor(call.HandlerType, call.Method, "GET")).Return(theUrl);

            ProcessContinuation(FubuContinuation.RedirectTo <ControllerTarget>(x => x.ZeroInOneOut()));
        }
Exemplo n.º 28
0
        public void SuccessfulUser(string username, FubuContinuation redirection = null)
        {
            _result.Success = true;
            _result.Continuation = redirection ?? FubuContinuation.NextBehavior();

            var principal = _principalBuilder.Build(username);
            _context.Current = principal;
            _session.MarkAuthenticated(username);
        }
Exemplo n.º 29
0
        protected override void beforeEach()
        {
            theRequest = new InMemoryFubuRequest();

            theContinuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.NotModified);
            theRequest.Set(theContinuation);

            Services.Inject <IFubuRequest>(theRequest);
        }
Exemplo n.º 30
0
        protected override void theContextIs()
        {
            input  = new InputModel();
            theUrl = "some/path/1";

            MockFor <IUrlRegistry>().Expect(x => x.UrlFor(input, "GET")).Return(theUrl);

            ProcessContinuation(FubuContinuation.RedirectTo(input));
        }
Exemplo n.º 31
0
        public void end_with_status_code_calls_to_same_on_continuation_director()
        {
            var continuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.NotModified);

            continuation.Type.ShouldBe(ContinuationType.Stop);
            continuation.Process(director);

            director.AssertWasCalled(x => x.EndWithStatusCode(HttpStatusCode.NotModified));
        }
Exemplo n.º 32
0
        public void assert_exited_with_status_code()
        {
            var continuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.NotModified);

            continuation.AssertWasEndedWithStatusCode(HttpStatusCode.NotModified);


            shouldFail(() => continuation.AssertWasEndedWithStatusCode(HttpStatusCode.UseProxy));
        }
Exemplo n.º 33
0
 public void FailedUser(FubuContinuation redirection = null)
 {
     _result.Success = false;
     if (redirection != null) _result.Continuation = redirection;
 }
 public ConfiguredFubuContinuationResolver(FubuContinuation continuation)
 {
     _continuation = continuation;
 }
Exemplo n.º 35
0
 public void Continue(FubuContinuation continuation, IActionBehavior nextBehavior)
 {
     _handler.InsideBehavior = nextBehavior;
     continuation.Process(_handler);
 }