Exemple #1
0
        protected override void When()
        {
            Entity.Stub(x => x.ContentLength).Return(EntityContentLength);
            Entity.Stub(x => x.CompressionType).Return(EntityCompressionType);
            Entity.Stub(x => x.ContentType).Return(EntityContentType);

            HttpResponseHeaderHelper
            .Stub(x => x.SetContentEncoding(HttpResponse, ResponseCompressionType))
            .Callback((HttpResponseBase httpResponse, ResponseCompressionType responseCompressionType) =>
            {
                ResponseCompressionTypeSet = responseCompressionType;
                return(true);
            });

            HttpResponseHeaderHelper
            .Stub(x => x.AppendHeader(HttpResponse, EntityResponseFull.HttpHeaderContentLength, EntityContentLength.ToString()))
            .Callback((HttpResponseBase httpResponse, string httpResponseHeader, string headerValue) =>
            {
                ContentLengthSet = headerValue;
                return(true);
            });

            HttpResponse.Stub(x => x.ContentType).PropertyBehavior();
            HttpResponse.Stub(x => x.Filter).PropertyBehavior();
            HttpResponse.Filter = new MemoryStream();

            SystemUnderTest.SendHeaders(HttpResponse, ResponseCompressionType, Entity);
        }
Exemple #2
0
        public void SetUp()
        {
            _mockRepository = new MockRepository();

            _rootFunction = new TestFunction();
            PrivateInvoke.InvokeNonPublicMethod(_rootFunction, "SetFunctionToken", "RootFunction");

            _subFunction = _mockRepository.PartialMock <TestFunction>();

            _httpContextMock  = _mockRepository.DynamicMock <HttpContextBase>();
            _pageExecutorMock = _mockRepository.StrictMock <IWxePageExecutor>();
            _functionState    = new WxeFunctionState(_rootFunction, true);

            _pageStep = _mockRepository.PartialMock <WxePageStep> ("ThePage");
            _pageStep.SetPageExecutor(_pageExecutorMock);
            _rootFunction.Add(_pageStep);

            _pageMock           = _mockRepository.DynamicMock <IWxePage>();
            _postBackCollection = new NameValueCollection {
                { "Key", "Value" }
            };
            _wxeHandler = new WxeHandler();

            UrlMappingConfiguration.Current.Mappings.Add(new UrlMappingEntry(_rootFunction.GetType(), "~/root.wxe"));
            UrlMappingConfiguration.Current.Mappings.Add(new UrlMappingEntry(_subFunction.GetType(), "~/sub.wxe"));

            _functionStateManager = new WxeFunctionStateManager(new FakeHttpSessionStateBase());

            Uri uri = new Uri("http://localhost/root.wxe");

            _responseMock = _mockRepository.StrictMock <HttpResponseBase>();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("~/sub.wxe")).Return("/session/sub.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("/session/sub.wxe")).Return("/session/sub.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("~/root.wxe")).Return("/session/root.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ApplyAppPathModifier("/session/root.wxe")).Return("/session/root.wxe").Repeat.Any();
            _responseMock.Stub(stub => stub.ContentEncoding).Return(Encoding.Default).Repeat.Any();
            _httpContextMock.Stub(stub => stub.Response).Return(_responseMock).Repeat.Any();

            _requestMock = _mockRepository.StrictMock <HttpRequestBase>();
            _requestMock.Stub(stub => stub.Url).Return(uri).Repeat.Any();
            _httpContextMock.Stub(stub => stub.Request).Return(_requestMock).Repeat.Any();

            _wxeContext = new WxeContext(_httpContextMock, _functionStateManager, _functionState, new NameValueCollection());
            WxeContextMock.SetCurrent(_wxeContext);
        }
Exemple #3
0
 public void Initialise()
 {
     request = MockRepository.GenerateStub <HttpRequestBase>();
     request.Stub(r => r.Headers).Return(new NameValueCollection());
     request.Stub(r => r.QueryString).Return(new NameValueCollection());
     request.Stub(r => r.ApplicationPath).Return("/");
     request.Stub(r => r.Url).Return(new Uri("http://www.example.com/"));
     response = MockRepository.GenerateStub <HttpResponseBase>();
     response.Stub(r => r.Headers).Return(new NameValueCollection());
 }
Exemple #4
0
        private HttpContextBase CreateHttpContext(string url, string method)
        {
            HttpRequestBase request = MockRepository.GenerateStub <HttpRequestBase>();

            request.Stub(s => s.AppRelativeCurrentExecutionFilePath).Return(url);
            request.Stub(s => s.HttpMethod).Return(method);

            HttpResponseBase response = MockRepository.GenerateStub <HttpResponseBase>();

            response.Stub(s => s.ApplyAppPathModifier(Arg <string> .Is.Anything)).Return(url);

            HttpContextBase context = MockRepository.GenerateStub <HttpContextBase>();

            context.Stub(s => s.Request).Return(request);
            context.Stub(s => s.Response).Return(response);

            return(context);
        }
        protected override void Initialize()
        {
            base.Initialize();
            HttpResponseBase response = MockRepository.GenerateMock <HttpResponseBase> ();

            HttpContext.Stub(mock => mock.Response).Return(response);
            response.Stub(mock => mock.ContentType).Return("text/html");

            HttpBrowserCapabilities browser = new HttpBrowserCapabilities();

            browser.Capabilities = new Hashtable();
            browser.Capabilities.Add("browser", "IE");
            browser.Capabilities.Add("majorversion", "7");

            var request = MockRepository.GenerateStub <HttpRequestBase> ();

            request.Stub(stub => stub.Browser).Return(new HttpBrowserCapabilitiesWrapper(browser));

            HttpContext.Stub(stub => stub.Request).Return(request);
        }
Exemple #6
0
            public void SetFixture(MockRepository mocks)
            {
                var securedFilter      = new OAuthSecuredAttribute();
                var mockControllerBase = mocks.DynamicMock <ControllerBase>();
                var mockHttpContext    = mocks.DynamicMock <HttpContextBase>();

                mockResponse   = mocks.DynamicMock <HttpResponseBase>();
                contextBuilder = mocks.DynamicMock <IOAuthContextBuilder>();
                oauthContext   = mocks.DynamicMock <IOAuthContext>();
                var httpRequest       = mocks.DynamicMock <HttpRequestBase>();
                var controllerContext = new ControllerContext(mockHttpContext, new RouteData(), mockControllerBase);
                var filterContext     = new ResultExecutedContext(controllerContext, new EmptyResult(), false, null);

                mockHttpContext.Stub(context => context.Response).Return(mockResponse);
                mockHttpContext.Stub(context => context.Request).Return(httpRequest);
                mockResponse.Stub(response => response.Headers).Return(Headers);
                contextBuilder.Stub(builder => builder.FromHttpRequest(httpRequest)).Return(oauthContext);
                oauthContext.Stub(context => context.Realm).Return(DefaultRealm);
                mocks.ReplayAll();
                securedFilter.OAuthContextBuilder = contextBuilder;
                securedFilter.OnResultExecuted(filterContext);
            }
Exemple #7
0
        public void Test_SubFunction_RedirectToPermaUrl()
        {
            WxeContextMock.SetCurrent(_wxeContext);
            Uri uri = new Uri("http://localhost/root.wxe");

            HttpResponseBase responseMock = _mockRepository.StrictMock <HttpResponseBase>();

            responseMock.Stub(stub => stub.ApplyAppPathModifier("~/sub.wxe")).Return("/session/sub.wxe").Repeat.Any();
            responseMock.Stub(stub => stub.ApplyAppPathModifier("/session/sub.wxe")).Return("/session/sub.wxe").Repeat.Any();
            responseMock.Stub(stub => stub.ApplyAppPathModifier("/root.wxe")).Return("/session/root.wxe").Repeat.Any();
            responseMock.Stub(stub => stub.ApplyAppPathModifier("/session/root.wxe")).Return("/session/root.wxe").Repeat.Any();
            responseMock.Stub(stub => stub.ContentEncoding).Return(Encoding.Default).Repeat.Any();
            _httpContextMock.Stub(stub => stub.Response).Return(responseMock).Repeat.Any();

            HttpRequestBase requestMock = _mockRepository.StrictMock <HttpRequestBase>();

            requestMock.Stub(stub => stub.Url).Return(uri).Repeat.Any();
            _httpContextMock.Stub(stub => stub.Request).Return(requestMock).Repeat.Any();

            using (_mockRepository.Ordered())
            {
                using (_mockRepository.Unordered())
                {
                    _pageMock.Expect(mock => mock.GetPostBackCollection()).Return(_postBackCollection);
                    _pageMock.Expect(mock => mock.SaveAllState());
                    _pageMock.Expect(mock => mock.WxeHandler).Return(_wxeHandler);
                }

                //Redirect to subfunction
                responseMock.Expect(mock => mock.Redirect("/session/sub.wxe?WxeFunctionToken=" + _wxeContext.FunctionToken))
                .WhenCalled(invocation => Thread.CurrentThread.Abort());

                //Show sub function
                _subFunction.Expect(mock => mock.Execute(_wxeContext)).WhenCalled(invocation => Thread.CurrentThread.Abort());

                //Return from sub function
                _subFunction.Expect(mock => mock.Execute(_wxeContext)).Throw(new WxeExecuteNextStepException());

                //Return from sub function
                responseMock.Expect(mock => mock.Redirect("/session/root.wxe?WxeFunctionToken=" + _wxeContext.FunctionToken))
                .WhenCalled(
                    invocation =>
                {
                    PrivateInvoke.SetNonPublicField(_functionState, "_postBackID", 100);
                    _pageStep.SetPostBackCollection(new NameValueCollection());
                    Thread.CurrentThread.Abort();
                });

                _pageExecutorMock.Expect(mock => mock.ExecutePage(_wxeContext, "~/ThePage", true)).WhenCalled(
                    invocation =>
                {
                    Assert.That(((IExecutionStateContext)_pageStep).ExecutionState, Is.SameAs(NullExecutionState.Null));
                    Assert.That(_pageStep.PostBackCollection[WxePageInfo.PostBackSequenceNumberID], Is.EqualTo("100"));
                    Assert.That(_pageStep.PostBackCollection.AllKeys, Has.Member("Key"));
                    Assert.That(_pageStep.ReturningFunction, Is.SameAs(_subFunction));
                    Assert.That(_pageStep.IsReturningPostBack, Is.True);
                });
            }

            _mockRepository.ReplayAll();

            WxePermaUrlOptions permaUrlOptions = new WxePermaUrlOptions();

            try
            {
                //Redirect to subfunction
                WxeRepostOptions repostOptions = WxeRepostOptions.DoRepost(null);
                _pageStep.ExecuteFunction(new PreProcessingSubFunctionStateParameters(_pageMock, _subFunction, permaUrlOptions), repostOptions);
                Assert.Fail();
            }
            catch (ThreadAbortException)
            {
                Thread.ResetAbort();
            }

            try
            {
                //Show sub function
                _pageStep.Execute();
                Assert.Fail();
            }
            catch (ThreadAbortException)
            {
                Thread.ResetAbort();
            }

            try
            {
                //Return from sub function
                _pageStep.Execute();
                Assert.Fail();
            }
            catch (WxeExecuteNextStepException)
            {
            }

            try
            {
                //Return from sub function
                _pageStep.Execute();
                Assert.Fail();
            }
            catch (ThreadAbortException)
            {
                Thread.ResetAbort();
            }

            //Show current page
            _pageStep.Execute();

            _mockRepository.VerifyAll();
        }