protected override void beforeEach() { expectedContinuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.Accepted); MockFor <ILogoutSuccessHandler>().Stub(x => x.LoggedOut()).Return(expectedContinuation); theContinuation = ClassUnderTest.Logout(null); }
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()); }
public FubuContinuation Redirect() { return(FubuContinuation.RedirectTo(new LoginRequest { Url = _currentRequest.RelativeUrl() }, "GET")); }
private void buildPolicy(FubuContinuation continuation) { var policy = _policies.AddType(typeof(FubuContinuationFailurePolicy)); policy.DependencyByValue(typeof(Func <Type, bool>), _predicate); policy.DependencyByValue(typeof(FubuContinuation), continuation); }
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; }
public FubuContinuation Matches(ETaggedRequest request) { var current = _cache.Current(request.ResourceHash); return(current.IsNotEmpty() && current == request.IfNoneMatch ? FubuContinuation.EndWithStatusCode(HttpStatusCode.NotModified) : FubuContinuation.NextBehavior()); }
public void FailedUser(FubuContinuation redirection = null) { _result.Success = false; if (redirection != null) { _result.Continuation = redirection; } }
public FubuContinuation Login(LoginRequestModel model) { _session[CurrentLoginStatus.Key] = new CurrentLoginStatus { UserName = "******" }; return(FubuContinuation.RedirectTo(new HomeInputModel())); }
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())); }
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()))); }
public FubuContinuationFailurePolicy(Func <Type, bool> predicate, IFubuRequest request, FubuContinuation continuation, ContinuationHandler handler) { _predicate = predicate; _handler = handler; _continuation = continuation; _request = request; }
public FubuContinuation Execute(RestfulCreateRequest <TEntity> request) { var collection = _session.GetCollection <TEntity>(); collection.Save(request.Entity); return(FubuContinuation.RedirectTo(new RestfulIndexRequest <TEntity>())); }
public Task <FubuContinuation> BadDreamAsync() { return(Task <FubuContinuation> .Factory.StartNew(() => { Thread.Sleep(1000); return FubuContinuation.RedirectTo <AirRequest>(); }, TaskCreationOptions.AttachedToParent)); }
public FubuContinuation Redirect() { var continuation = BuildAjaxContinuation(); _outputWriter.Write(MimeType.Json, JsonUtil.ToJson(continuation.ToDictionary())); return(FubuContinuation.EndWithStatusCode(HttpStatusCode.Unauthorized)); }
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; }
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))); }
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); }
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>()); }
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(); }
public void Continue_just_continues() { FubuContinuation continuation = FubuContinuation.NextBehavior(); continuation.Type.ShouldBe(ContinuationType.NextBehavior); continuation.Process(director); director.AssertWasCalled(x => x.InvokeNextBehavior()); }
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())); }
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())); }
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); }
protected override void beforeEach() { theRequest = new InMemoryFubuRequest(); theContinuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.NotModified); theRequest.Set(theContinuation); Services.Inject <IFubuRequest>(theRequest); }
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)); }
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)); }
public void assert_exited_with_status_code() { var continuation = FubuContinuation.EndWithStatusCode(HttpStatusCode.NotModified); continuation.AssertWasEndedWithStatusCode(HttpStatusCode.NotModified); shouldFail(() => continuation.AssertWasEndedWithStatusCode(HttpStatusCode.UseProxy)); }
public void FailedUser(FubuContinuation redirection = null) { _result.Success = false; if (redirection != null) _result.Continuation = redirection; }
public ConfiguredFubuContinuationResolver(FubuContinuation continuation) { _continuation = continuation; }
public void Continue(FubuContinuation continuation, IActionBehavior nextBehavior) { _handler.InsideBehavior = nextBehavior; continuation.Process(_handler); }