public void Test_SignIn_AddsCookie_IfAuthResultIsSuccess() { var serializer = new TicketSerializer(); var ticket = new AuthenticationTicket( new ClaimsPrincipal( new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "Foo User"), }, AuthConstants.SPNEGO_DEFAULT_SCHEME)), AuthConstants.SPNEGO_DEFAULT_SCHEME); var serializedTicket = serializer.Serialize(ticket); var protectedTicket = dataProtector.Protect(serializedTicket); var encodedTicket = Convert.ToBase64String(protectedTicket); var cookie = new HttpCookie(AuthConstants.AUTH_COOKIE_NM) { Expires = DateTime.Now.AddDays(CookieAuthenticator.COOKIE_TIMEOUT_IN_MINUTES), Value = encodedTicket }; var authenticator = new CookieAuthenticator(dataProtector, logger.Object); authenticator.SignIn(AuthenticateResult.Success(ticket), context.Object); response.Verify(r => r.AppendCookie(It.Is <HttpCookie>(c => Convert.ToBase64String(dataProtector.UnProtect(Convert.FromBase64String(c.Value))) == Convert.ToBase64String(dataProtector.UnProtect(Convert.FromBase64String(encodedTicket))) && c.Expires.Date.Minute == DateTime.Now.AddMinutes(CookieAuthenticator.COOKIE_TIMEOUT_IN_MINUTES).Date.Minute)), Times.Once); }
public void Test_SignIn_DoesNotAddCookie_IfAuthResultIsNotSuccess() { var authenticator = new CookieAuthenticator(dataProtector, logger.Object); authenticator.SignIn(AuthenticateResult.NoResult(), context.Object); var authCookie = context.Object.Response.Cookies.Get(AuthConstants.AUTH_COOKIE_NM); Assert.Null(authCookie); }