Пример #1
0
            public static TraceContext Get()
            {
                SimulatedHttpRequest req     = new SimulatedHttpRequest("GET", "localhost", string.Empty, string.Empty);
                HttpContext          context = new HttpContext(req);

                return(context.Trace);
            }
Пример #2
0
        private SimulatedHttpRequest CreateRequest(string page, string query)
        {
            var writer  = new StringWriter();
            var request = new SimulatedHttpRequest(@"\", @"C:\Inetpub\wwwroot", page, query, writer, "testhost");

            return(request);
        }
Пример #3
0
        public void SimulatedHttpRequest_GetServerName_ValueOfHostIsReturned()
        {
            SimulatedHttpRequest testSubject = new SimulatedHttpRequest("appVirtualDir", "appPhysicalDir", "page", "query", new StringWriter(), "myserver");

            string result = testSubject.GetServerName();

            Assert.AreEqual("myserver", result, false);
        }
Пример #4
0
        public void SimulatedHttpRequest_MapPath_VirtualDirJoinedWithVirtualPathIsReturned()
        {
            SimulatedHttpRequest testSubject = new SimulatedHttpRequest("appVirtualDir", "appPhysicalDir", "page", "query", new StringWriter(), "myserver");

            string result = testSubject.MapPath("myVirtualPath");

            Assert.AreEqual(@"appVirtualDir\myVirtualPath", result, false);
        }
Пример #5
0
        protected static PortalContext CreatePortalContext(string pagePath, string queryString, System.IO.TextWriter output)
        {
            var simulatedWorkerRequest = new SimulatedHttpRequest(@"\", @"C:\Inetpub\wwwroot", pagePath, queryString, output, "localhost");
            var simulatedHttpContext   = new HttpContext(simulatedWorkerRequest);

            HttpContext.Current = simulatedHttpContext;
            var portalContext = PortalContext.Create(simulatedHttpContext);

            return(portalContext);
        }
Пример #6
0
        //================================================== Helper methods

        private static void CreatePortalContext()
        {
            CreateTestSite();

            const string pagePath = "/fakesiteforms/Root/System/alma.jpg/";

            var simulatedOutput        = new System.IO.StringWriter();
            var simulatedWorkerRequest = new SimulatedHttpRequest(@"\", @"C:\Inetpub\wwwroot", pagePath, "", simulatedOutput, "localhost");
            var simulatedHttpContext   = new HttpContext(simulatedWorkerRequest);
            var portalContext          = PortalContext.Create(simulatedHttpContext);
        }
Пример #7
0
		private HttpContext GetContext()
		{
			const string appVirtualDir = "/";
			const string appPhysicalDir = @"c:\\projects\\SubtextSystem\\Subtext.Web\\";
			const string page = "application/default.aspx";
			_host = Environment.MachineName;
			var query = string.Empty;
			TextWriter output = null;

			var workerRequest = new SimulatedHttpRequest(appVirtualDir, appPhysicalDir, page, query, output, _host);
			return new HttpContext(workerRequest);
		}
Пример #8
0
        private HttpContext GetContext()
        {
            const string appVirtualDir  = "/";
            const string appPhysicalDir = @"c:\\projects\\SubtextSystem\\Subtext.Web\\";
            const string page           = "application/default.aspx";

            _host = Environment.MachineName;
            var        query  = string.Empty;
            TextWriter output = null;

            var workerRequest = new SimulatedHttpRequest(appVirtualDir, appPhysicalDir, page, query, output, _host);

            return(new HttpContext(workerRequest));
        }
Пример #9
0
 public void SimulatedHttpRequest_CtorWithEmptyHost_ExceptionIsThrown()
 {
     SimulatedHttpRequest testSubject = new SimulatedHttpRequest("appVirtualDir", "appPhysicalDir", "page", "query", new StringWriter(), string.Empty);
 }
        public void LogOn_Validates_Good_Credentials_And_Redirects_With_Good_Local_Url()
        {
            //Arrange
            var routeData = new RouteData();
            var httpContext = MockRepository.GenerateStub<HttpContextBase>();
            var controllerContext = MockRepository.GenerateStub<ControllerContext>(httpContext, routeData, _controller);
            _controller.ControllerContext = controllerContext;
            _controller.ValueProvider = new FormCollection().ToValueProvider();
            var model = new LogOnModel { UserName = "******", Password = "******" };
            var request = new SimulatedHttpRequest("/", string.Empty, string.Empty, string.Empty, null, "localhost");
            HttpContext.Current = new HttpContext(request);
            var urlHelper = MockRepository.GenerateMock<UrlHelper>(new RequestContext(httpContext, routeData));
            _controller.Url = urlHelper;
            _membershipTasks.Expect(x => x.ValidateUser(Arg<string>.Is.Equal("cooluser"), Arg<string>.Is.Equal("coolpassword"))).Return(true);
            _authTasks.Expect(x => x.SetAuthCookie(Arg<string>.Is.Equal("cooluser"), Arg<bool>.Is.Equal(false)));

            //Act
            var result = _controller.LogOn(model, "/blah") as RedirectResult;

            //Assert
            Assert.AreEqual("/blah", result.Url);
            _authTasks.VerifyAllExpectations();
            _membershipTasks.VerifyAllExpectations();
        }
Пример #11
0
 private static string GetTrackBackHandlerResponseText(string blogName, string excerpt, SimulatedHttpRequest request, StringBuilder sb, string title, string url)
 {
     return GetTrackBackHandlerResponseText(blogName, excerpt, request, sb, title, url, true);
 }
Пример #12
0
        //================================================== Helper methods

        private static void CreatePortalContext()
        {
            CreateTestSite();

            const string pagePath = "/fakesiteforms/Root/System/alma.jpg/";

            var simulatedOutput = new System.IO.StringWriter();
            var simulatedWorkerRequest = new SimulatedHttpRequest(@"\", @"C:\Inetpub\wwwroot", pagePath, "", simulatedOutput, "localhost");
            var simulatedHttpContext = new HttpContext(simulatedWorkerRequest);
            var portalContext = PortalContext.Create(simulatedHttpContext);
        }
Пример #13
0
 private SimulatedHttpRequest CreateRequest(string page, string query)
 {
     var writer = new StringWriter();
     var request = new SimulatedHttpRequest(@"\", @"C:\Inetpub\wwwroot", page, query, writer, "testhost");
     return request;
 }
        public void Edit_Validates_Bad_Model_And_Forwards_To_Create()
        {
            //Arrange
            var routeData = new RouteData();
            var httpContext = MockRepository.GenerateStub<HttpContextBase>();
            var controllerContext = MockRepository.GenerateStub<ControllerContext>(httpContext, routeData, _controller);
            _controller.ControllerContext = controllerContext;
            _controller.ValueProvider = new FormCollection().ToValueProvider();
            _categoryTasks.Expect(x => x.GetAll()).Return(new List<Category> {new Category()});
            var request = new SimulatedHttpRequest("/", string.Empty, string.Empty, string.Empty, null, "localhost");
            HttpContext.Current = new HttpContext(request);
            _captchaTasks.Expect(x => x.Validate(ConfigurationManager.AppSettings["ReCaptchaPrivate"])).Return(true);

            //Act
            var result = _controller.Edit(new Product {Category = new Category()}) as ViewResult;

            //Assert
            Assert.AreEqual("Create", result.ViewName);
            Assert.IsInstanceOfType<ProductEditViewModel>(result.Model);
            Assert.AreEqual(0, (result.Model as ProductEditViewModel).Product.Id);
            Assert.AreEqual(1, (result.Model as ProductEditViewModel).Categories.Count);
            _categoryTasks.VerifyAllExpectations();
            _captchaTasks.VerifyAllExpectations();
        }
        public void Edit_Validates_Bad_Captcha_And_Forwards()
        {
            //Arrange
            var routeData = new RouteData();
            var httpContext = MockRepository.GenerateStub<HttpContextBase>();
            var controllerContext = MockRepository.GenerateStub<ControllerContext>(httpContext, routeData, _controller);
            _controller.ControllerContext = controllerContext;
            _controller.ValueProvider = new FormCollection().ToValueProvider();
            _categoryTasks.Expect(x => x.GetAll()).Return(new List<Category> { new Category() });
            var request = new SimulatedHttpRequest("/", string.Empty, string.Empty, string.Empty, null, "localhost");
            HttpContext.Current = new HttpContext(request);
            _captchaTasks.Expect(x => x.Validate(ConfigurationManager.AppSettings["ReCaptchaPrivate"])).Return(false);

            //Act
            var result = _controller.Edit(new Product { Category = new Category() }) as ViewResult;

            //Assert
            Assert.AreEqual("ReCaptcha failed!", result.ViewData.ModelState["ReCaptcha"].Errors[0].ErrorMessage);
            _categoryTasks.VerifyAllExpectations();
            _captchaTasks.VerifyAllExpectations();
        }
Пример #16
0
        protected virtual HttpSimulator SimulateRequest(Uri url, HttpVerb httpVerb, NameValueCollection formVariables,
                                                        NameValueCollection headers)
        {
            HttpContext.Current = null;

            ParseRequestUrl(url);

            if (_responseWriter == null)
            {
                _builder = new StringBuilder();
                _responseWriter = new StringWriter(_builder);
            }

            SetHttpRuntimeInternals();

            string query = ExtractQueryStringPart(url);

            if (formVariables != null)
                _formVars.Add(formVariables);

            if (_formVars.Count > 0)
                httpVerb = HttpVerb.POST; //Need to enforce this.

            if (headers != null)
                _headers.Add(headers);

            WorkerRequest = new SimulatedHttpRequest(ApplicationPath, PhysicalApplicationPath, PhysicalPath, Page, query,
                                                     _responseWriter, Host, Port, httpVerb.ToString());

            WorkerRequest.Form.Add(_formVars);
            WorkerRequest.Headers.Add(_headers);

            if (_referer != null)
                WorkerRequest.SetReferer(_referer);

            InitializeSession();

            InitializeApplication();

            Console.WriteLine("host: " + Host);
            Console.WriteLine("virtualDir: " + _applicationPath);
            Console.WriteLine("page: " + LocalPath);
            Console.WriteLine("pathPartAfterApplicationPart: " + Page);
            Console.WriteLine("appPhysicalDir: " + _physicalApplicationPath);
            if (HttpContext.Current != null)
            {
                Console.WriteLine("Request.Url.LocalPath: " + HttpContext.Current.Request.Url.LocalPath);
                Console.WriteLine("Request.Url.Host: " + HttpContext.Current.Request.Url.Host);
                Console.WriteLine("Request.FilePath: " + HttpContext.Current.Request.FilePath);
                Console.WriteLine("Request.Path: " + HttpContext.Current.Request.Path);
                Console.WriteLine("Request.RawUrl: " + HttpContext.Current.Request.RawUrl);
                Console.WriteLine("Request.Url: " + HttpContext.Current.Request.Url);
                Console.WriteLine("Request.Url.Port: " + HttpContext.Current.Request.Url.Port);
                Console.WriteLine("Request.ApplicationPath: " + HttpContext.Current.Request.ApplicationPath);
                Console.WriteLine("Request.PhysicalPath: " + HttpContext.Current.Request.PhysicalPath);
            }
            Console.WriteLine("HttpRuntime.AppDomainAppPath: " + HttpRuntime.AppDomainAppPath);
            Console.WriteLine("HttpRuntime.AppDomainAppVirtualPath: " + HttpRuntime.AppDomainAppVirtualPath);
            Console.WriteLine("HostingEnvironment.ApplicationPhysicalPath: " +
                              HostingEnvironment.ApplicationPhysicalPath);
            Console.WriteLine("HostingEnvironment.ApplicationVirtualPath: " + HostingEnvironment.ApplicationVirtualPath);

            return this;
        }
Пример #17
0
        private static string GetTrackBackHandlerResponseText(string blogName, string excerpt, SimulatedHttpRequest request, StringBuilder sb, string title, string url, bool enabled)
        {
            request.Form["url"] = url;
            request.Form["title"] = title;
            request.Form["excerpt"] = excerpt;
            request.Form["blog_name"] = blogName;

            TrackBackHandler handler = new TrackBackHandler();
            handler.SourceVerification += handler_SourceVerification;
            Config.CurrentBlog.TrackbacksEnabled = enabled;

            HttpContext.Current.Request.ContentType = "application/x-www-form-urlencoded";
            handler.ProcessRequest(HttpContext.Current);
            HttpContext.Current.Response.Flush();
            return sb.ToString();
        }
        public void LogOff_Signs_Out_And_Redirects()
        {
            //Arrange
            var request = new SimulatedHttpRequest("/", string.Empty, string.Empty, string.Empty, null, "localhost");
            HttpContext.Current = new HttpContext(request);
            _authTasks.Expect(x => x.SignOut());

            //Act
            var result = _controller.LogOff() as RedirectToRouteResult;

            //Assert
            Assert.AreEqual("Home", result.RouteValues["controller"]);
            Assert.AreEqual("Index", result.RouteValues["action"]);
            _authTasks.VerifyAllExpectations();
        }