private static TestableAuthController GetTestableAuthController( IOpenIdRelyingParty relyingParty, IFormsAuthentication formsAuth, CreateUser createUser, GetUserByClaimId getUser, string providerUrl = @"http:\\testprovider.com") { HttpContextBase contextMock = MvcMockHelpers.FakeHttpContext(providerUrl); var authController = new TestableAuthController(relyingParty, formsAuth, createUser, getUser); authController.ControllerContext = new ControllerContext(contextMock, new RouteData(), authController); authController.InvokeInitialize(authController.ControllerContext.RequestContext); // default routes var routes = new RouteCollection(); routes.MapRoute( "Default", // Route name "{controller}/{action}/{id}", // URL with parameters new { controller = "Home", action = "Index", id = "" } // Parameter defaults ); authController.Url = new UrlHelper(authController.ControllerContext.RequestContext, routes); return(authController); }
public void Should_have_single_singleton_instance_of_IRequestDescription() { // Arrange HttpContextRequestDescription.HttpContextProvider = () => MvcMockHelpers.FakeHttpContext(); // Assert VerifyHasOneTransientOf <IRequestDescription, HttpContextRequestDescription>(); }
protected HttpContextBase GetHttpContext(PrincipalStub principal) { MvcMockContainer container = new MvcMockContainer(); HttpContextBase context = MvcMockHelpers.FakeHttpContext(container); container.Context.SetupProperty(x => x.User, principal); return(context); }
public Mock <ControllerContext> GetControllerContext() { var httpContext = MvcMockHelpers.FakeHttpContext("~/"); Mock <ControllerContext> controllerContext = new Mock <ControllerContext>(); controllerContext.Setup(ctx => ctx.HttpContext).Returns(httpContext); return(controllerContext); }
public void Logout_DefaultParameters_DoesNotSetTempDataKey() { TempDataDictionary tempData = new TempDataDictionary(); _fakeContext = MvcMockHelpers.FakeHttpContext(); _fakeContext.Request.SetRequestQueryString(new NameValueCollection()); _sessionTerminator.Logout(_fakeContext.Request, _fakeContext.Response, tempData); Assert.Null(tempData[SessionTerminator.SessionTimedOut]); }
public void Get_XsrfMethods_ReturnsConditionalFilterProvider() { foreach (var method in XsrfFilter.XsrfMethods) { _fakeContext = MvcMockHelpers.FakeHttpContext(); _fakeContext.Request.SetHttpMethodResult(method); _output.WriteLine("HttpMethod => {0}", method); var filter = XsrfFilter.Get(); Assert.IsType <ConditionalFilterProvider>(filter); } }
private static AccountController GetAccountController() { IFormsAuthentication formsAuth = new MockFormsAuthenticationService(); MembershipProvider membershipProvider = new MockMembershipProvider(); AccountMembershipService membershipService = new AccountMembershipService(membershipProvider); AccountController controller = new AccountController(formsAuth, membershipService); HttpContextBase contextBase = MvcMockHelpers.FakeHttpContext(); // new MockHttpContext(); controller.ControllerContext = new ControllerContext(contextBase, new RouteData(), controller); controller.Url = new UrlHelper(new RequestContext(contextBase, new RouteData()), new RouteCollection()); return(controller); }
public void Should_have_controllername_and_actionname() { // Arrange HttpContextRequestDescription.HttpContextProvider = () => MvcMockHelpers.FakeHttpContext("~/some-url"); RouteTable.Routes.Add(TestDataFactory.CreateRoute(null, "ControllerName", "ActionName")); // Act var requestDescription = new HttpContextRequestDescription(); // Assert Assert.That(requestDescription.AreaName, Is.EqualTo("")); Assert.That(requestDescription.ControllerName, Is.EqualTo("ControllerName")); Assert.That(requestDescription.ActionName, Is.EqualTo("ActionName")); }
public void Logout_HasQueryStringWithValue_SetsTempDataKey() { TempDataDictionary tempData = new TempDataDictionary(); _fakeContext = MvcMockHelpers.FakeHttpContext(); var querystring = new NameValueCollection(); querystring.Add(SessionTerminatorHelper.ShowClientModalKey, "0"); _fakeContext.Request.SetRequestQueryString(querystring); _sessionTerminator.Logout(_fakeContext.Request, _fakeContext.Response, tempData); Assert.True((bool)tempData[SessionTerminator.SessionTimedOut]); }
public void WhenSettingAuthenticationCookieFromTicket_ThenAddsToResponseCookie() { var cookies = new HttpCookieCollection(); var formsAuth = new DefaultFormsAuthentication(); var context = MvcMockHelpers.FakeHttpContext(); var responseMock = Mock.Get(context.Response); responseMock.Setup(r => r.Cookies).Returns(cookies); formsAuth.SetAuthCookie(context, new FormsAuthenticationTicket("TestName", false, 55)); Assert.NotNull(cookies[FormsAuthentication.FormsCookieName]); Assert.Equal("TestName", FormsAuthentication.Decrypt(cookies[FormsAuthentication.FormsCookieName].Value).Name); }
public void TestInitialize() { this.helper = new TestHelpers(); this.uowData = this.helper.GetUnitOfWork(); this.controllerContext = this.helper.GetControllerContext(); var routes = new RouteCollection(); Twitter.Application.RouteConfig.RegisterRoutes(routes); var helper = new UrlHelper(new RequestContext(MvcMockHelpers.FakeHttpContext(), new RouteData()), routes); this.controller = new UsersController(this.uowData.Object); this.controller.Url = helper; this.controller.ControllerContext = controllerContext.Object; }
public void GetFilter_XsrfMethods_ReturnsValidateAntiForgeryTokenAttribute() { foreach (var method in XsrfFilter.XsrfMethods) { _fakeContext = MvcMockHelpers.FakeHttpContext(); _fakeContext.Request.SetHttpMethodResult(method); _output.WriteLine("HttpMethod => {0}", method); var postResult = XsrfFilter.GetFilter(_fakeContext.Request, new object[0]); Assert.False(_fakeContext.Request.IsAjaxRequest()); Assert.Equal(method, _fakeContext.Request.HttpMethod); Assert.IsType <ValidateAntiForgeryTokenAttribute>(postResult); } }
public void GetFilter_NonXsrfMethods_ReturnsNull() { foreach (var method in _nonXsrfMethods) { _fakeContext = MvcMockHelpers.FakeHttpContext(); _fakeContext.Request.SetHttpMethodResult(method); _output.WriteLine("HttpMethod => {0}", method); var postResult = XsrfFilter.GetFilter(_fakeContext.Request, new object[0]); Assert.False(_fakeContext.Request.IsAjaxRequest()); Assert.Equal(method, _fakeContext.Request.HttpMethod); Assert.Null(postResult); } }
protected virtual void SetupControllerForTests(Controller controller, bool identityAuthenticated = false) { var owinContext = new OwinContext(); owinContext.Set(UserManager); owinContext.Set(SignInManager); var context = new Mock <HttpContextBase>(); var request = new Mock <HttpRequestBase>(); var response = new Mock <HttpResponseBase>(); var session = new Mock <HttpSessionStateBase>(); var server = new Mock <HttpServerUtilityBase>(); var principal = new Mock <IPrincipal>(); var identity = new Mock <IIdentity>(); if (identityAuthenticated) { principal.Setup(p => p.Identity).Returns(Identity); } else { principal.Setup(p => p.Identity).Returns(identity.Object); } context.Setup(ctx => ctx.Request).Returns(request.Object); context.Setup(ctx => ctx.Response).Returns(response.Object); context.Setup(ctx => ctx.Session).Returns(session.Object); context.Setup(ctx => ctx.Server).Returns(server.Object); context.Setup(ctx => ctx.User).Returns(principal.Object); request.SetupGet(x => x.ApplicationPath).Returns("/"); request.SetupGet(x => x.Url).Returns(new Uri(GetControllerPath(), UriKind.Absolute)); request.SetupGet(x => x.ServerVariables).Returns(new NameValueCollection()); response.Setup(x => x.ApplyAppPathModifier(It.IsAny <string>())).Returns <string>(x => x); context.SetupGet(x => x.Request).Returns(request.Object); context.SetupGet(x => x.Response).Returns(response.Object); context.SetupGet(x => x.Items).Returns(new Dictionary <object, object>() { { "owin.Environment", owinContext.Environment } }); var helper = new UrlHelper(new RequestContext(MvcMockHelpers.FakeHttpContext(), new RouteData()), RouteTable.Routes); controller.Url = helper; controller.ControllerContext = new ControllerContext(context.Object, new RouteData(), controller); }
public void Index() { // Arrange HttpContextBase httpContext = MvcMockHelpers.FakeHttpContext(); HomeController controller = new HomeController(); RequestContext requestContext = new RequestContext(httpContext, new RouteData()); controller.ControllerContext = new ControllerContext(requestContext, controller); controller.Url = new UrlHelper(requestContext); // Act ViewResult result = controller.Index() as ViewResult; // Assert Assert.IsNotNull(result); }
public void attachmentsroutepath_should_use_attachmentsroutepath_and_prepend_applicationpath() { // Arrange MvcMockContainer container = new MvcMockContainer(); HttpContextBase httpContext = MvcMockHelpers.FakeHttpContext(container); container.Request.Setup(x => x.ApplicationPath).Returns("/wiki"); ApplicationSettings appSettings = new ApplicationSettings(httpContext); appSettings.AttachmentsRoutePath = "Folder1/Folder2"; // Act string actualUrlPath = appSettings.AttachmentsUrlPath; // Assert Assert.That(actualUrlPath, Is.EqualTo(@"/wiki/Folder1/Folder2")); }
public void GetFilter_XsrfMethodsIsAjaxWithIgnoreAttribute_ReturnsNull() { foreach (var method in XsrfFilter.XsrfMethods) { _fakeContext = MvcMockHelpers.FakeHttpContext(); _fakeContext.Request.SetHttpMethodResult(method); _fakeContext.Request.SetAjaxHeaders(); _output.WriteLine("HttpMethod => {0}", method); var postResult = XsrfFilter.GetFilter( _fakeContext.Request, new object[] { new IgnoreXsrfFilterAttribute() } ); Assert.True(_fakeContext.Request.IsAjaxRequest()); Assert.Equal(method, _fakeContext.Request.HttpMethod); Assert.Null(postResult); } }
private static ControllerContext RetrieveTestControllerContext(bool isMobileDevice, string browser) { var fakeHttpContext = MvcMockHelpers.FakeHttpContext(); var httpBrowserCapabilities = new Mock <HttpBrowserCapabilitiesBase>(); httpBrowserCapabilities.Setup(p => p.IsMobileDevice) .Returns(isMobileDevice); httpBrowserCapabilities.Setup(p => p.Browser) .Returns(browser); MvcMockHelpers.SetHttpBrowserCapabilities(fakeHttpContext.Request, httpBrowserCapabilities.Object); var fakeController = new Mock <ControllerBase>(); var testRouteData = new RouteData(); testRouteData.Values.Add("controller", "TestController"); return(new ControllerContext(fakeHttpContext, testRouteData, fakeController.Object)); }
public void WhenSettingAuthenticationCookieFromTicket_ThenSetsExpiryFromFormsAuthenticationTimeoutValue() { var cookies = new HttpCookieCollection(); var formsAuth = new DefaultFormsAuthentication(); var context = MvcMockHelpers.FakeHttpContext(); var responseMock = Mock.Get(context.Response); responseMock.Setup(r => r.Cookies).Returns(cookies); formsAuth.SetAuthCookie(context, new FormsAuthenticationTicket("TestName", false, 55)); var cookie = cookies[FormsAuthentication.FormsCookieName]; var now = DateTime.Now; var formsTimeout = FormsAuthentication.Timeout; // assumes test can run +/- 1 minute Assert.True(cookie.Expires >= now.AddMinutes(formsTimeout.Minutes - 1)); Assert.True(cookie.Expires <= now.AddMinutes(formsTimeout.Minutes + 1)); }
public void attachmentsdirectorypath_should_map_attachmentsfolder_and_end_with_slash() { // Arrange string attachmentsFolder = @"~/myfolder"; MvcMockContainer container = new MvcMockContainer(); HttpContextBase httpContext = MvcMockHelpers.FakeHttpContext(container); container.ServerUtility.Setup(x => x.MapPath(attachmentsFolder)).Returns(@"c:\inetpub\myfolder"); ApplicationSettings appSettings = new ApplicationSettings(httpContext); appSettings.AttachmentsFolder = attachmentsFolder; // Act string actualPath = appSettings.AttachmentsDirectoryPath; // Assert Assert.That(actualPath, Is.EqualTo(@"c:\inetpub\myfolder\")); }
private ResultExecutedContext CreateContext(WikiController wikiController) { // HTTP Context ControllerContext controllerContext = new Mock <ControllerContext>().Object; MvcMockContainer container = new MvcMockContainer(); HttpContextBase context = MvcMockHelpers.FakeHttpContext(container); controllerContext.HttpContext = context; // ResultExecutedContext ActionResult result = new ViewResult(); Exception exception = new Exception(); bool cancelled = true; ResultExecutedContext filterContext = new ResultExecutedContext(controllerContext, result, cancelled, exception); filterContext.Controller = wikiController; filterContext.RouteData.Values.Add("id", 1); filterContext.HttpContext = context; return(filterContext); }