public void AuthenticateRequest_WithRequestForStaticFile_ReturnsImmediately() { // arrange var module = new AuthenticationModule(); var httpContext = new Mock <HttpContextBase>(); httpContext.Setup(c => c.Request.Cookies).Throws(new InvalidOperationException()); var blogRequest = new BlogRequest("localhost", string.Empty, new Uri("http://localhost"), false, RequestLocation.StaticFile, "/"); // act, assert module.AuthenticateRequest(httpContext.Object, blogRequest); }
public void AuthenticateRequest_WithRequestHavingValidAuthCookies_SetsUserToGenericPrincipalWithRoles() { // arrange var module = new AuthenticationModule(); const string roles = "Admins|HostAdmins|Users"; var ticket = new FormsAuthenticationTicket(1, ".ASPXAUTH.42", DateTime.Now, DateTime.Now.AddDays(60), true, roles); string cookieValue = FormsAuthentication.Encrypt(ticket); var authCookie = new HttpCookie(".ASPXAUTH.42") { Value = cookieValue }; var cookies = new HttpCookieCollection { authCookie }; var httpContext = new Mock <HttpContextBase>(); httpContext.Stub(c => c.User); httpContext.Setup(c => c.Request.Path).Returns("/"); httpContext.Setup(c => c.Request.QueryString).Returns(new NameValueCollection()); httpContext.Setup(c => c.Request.Cookies).Returns(cookies); httpContext.Setup(c => c.Response.Cookies).Returns(cookies); var blogRequest = new BlogRequest("localhost", string.Empty, new Uri("http://localhost"), false, RequestLocation.Blog, "/") { Blog = new Blog { Id = 42 } }; // act module.AuthenticateRequest(httpContext.Object, blogRequest); // assert var principal = httpContext.Object.User as GenericPrincipal; Assert.IsNotNull(principal); Assert.IsTrue(principal.IsInRole("Admins")); Assert.IsTrue(principal.IsInRole("HostAdmins")); Assert.IsTrue(principal.IsInRole("Users")); }