public void LoginFailIfUserIsNotFound() { var originalProvider = OAuthWebSecurity.OAuthDataProvider; try { // Arrange var context = new Mock <HttpContextBase>(); OAuthWebSecurity.RegisterTwitterClient("consumerKey", "consumerSecrte"); var dataProvider = new Mock <IOpenAuthDataProvider>(); dataProvider.Setup(p => p.GetUserNameFromOpenAuth("twitter", "12345")).Returns((string)null); OAuthWebSecurity.OAuthDataProvider = dataProvider.Object; // Act bool successful = OAuthWebSecurity.LoginCore(context.Object, "twitter", "12345", createPersistentCookie: false); // Assert Assert.False(successful); } finally { OAuthWebSecurity.OAuthDataProvider = originalProvider; } }
public void LoginSetAuthenticationTicketIfSuccessful() { var originalProvider = OAuthWebSecurity.OAuthDataProvider; try { // Arrange var cookies = new HttpCookieCollection(); var context = new Mock <HttpContextBase>(); context.Setup(c => c.Request.IsSecureConnection).Returns(true); context.Setup(c => c.Response.Cookies).Returns(cookies); var dataProvider = new Mock <IOpenAuthDataProvider>(MockBehavior.Strict); dataProvider .Setup(p => p.GetUserNameFromOpenAuth("twitter", "12345")) .Returns("hola"); OAuthWebSecurity.OAuthDataProvider = dataProvider.Object; OAuthWebSecurity.RegisterTwitterClient("sdfdsfsd", "dfdsfdsf"); // Act bool successful = OAuthWebSecurity.LoginCore( context.Object, "twitter", "12345", createPersistentCookie: false ); // Assert Assert.True(successful); Assert.Single(cookies); HttpCookie addedCookie = cookies[0]; Assert.Equal(FormsAuthentication.FormsCookieName, addedCookie.Name); Assert.True(addedCookie.HttpOnly); Assert.Equal("/", addedCookie.Path); Assert.False(addedCookie.Secure); Assert.False(String.IsNullOrEmpty(addedCookie.Value)); FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(addedCookie.Value); Assert.NotNull(ticket); Assert.Equal(2, ticket.Version); Assert.Equal("hola", ticket.Name); Assert.Equal("OAuth", ticket.UserData); Assert.False(ticket.IsPersistent); } finally { OAuthWebSecurity.OAuthDataProvider = originalProvider; } }