public void AuthorizeCallback_ExistingUser() { var db = new TestTweetHarborDbContext(); var ts = new Mock<ITweetHarborTwitterService>(); string token = Guid.NewGuid().ToString(); string verifier = Guid.NewGuid().ToString(); string TestUsername = "******"; string imageUrl = "http://test.com/image.jpg"; db.Users.Add(new User() { DateCreated = DateTime.Now.AddDays(-1), TwitterUserName = TestUsername, UserProfilePicUrl = "http://oldurl.com" }); ts.Setup<OAuthAccessToken>(a => a.GetAccessToken(It.IsAny<OAuthRequestToken>(), It.IsAny<string>())).Returns(new OAuthAccessToken() { Token = token, TokenSecret = verifier }); ts.Setup<TwitterUser>(a => a.VerifyCredentials()).Returns(new TwitterUser() { ScreenName = TestUsername, ProfileImageUrl = imageUrl }); var auth = new Mock<IFormsAuthenticationWrapper>(); var controller = new AccountController(db, ts.Object, auth.Object); controller.SetFakeControllerContext(); var val = controller.AuthorizeCallback(token, verifier); Assert.AreEqual(1, db.Users.Count()); Assert.AreEqual(token, db.Users.First().OAuthToken); Assert.AreEqual(verifier, db.Users.First().OAuthTokenSecret); Assert.AreEqual(TestUsername, db.Users.First().TwitterUserName); Assert.AreEqual(imageUrl, db.Users.First().UserProfilePicUrl); }
public void AuthorizeCallback_NewUser() { var db = new TestTweetHarborDbContext(); var ts = new Mock<ITweetHarborTwitterService>(); string token = Guid.NewGuid().ToString(); string verifier = Guid.NewGuid().ToString(); string TestUsername = "******"; ts.Setup<OAuthAccessToken>(a => a.GetAccessToken(It.IsAny<OAuthRequestToken>(), It.IsAny<string>())).Returns(new OAuthAccessToken() { Token = token, TokenSecret = verifier }); ts.Setup<TwitterUser>(a => a.VerifyCredentials()).Returns(new TwitterUser() { ScreenName = TestUsername }); var auth = new Mock<IFormsAuthenticationWrapper>(); var controller = new AccountController(db, ts.Object, auth.Object); controller.SetFakeControllerContext(); var val = controller.AuthorizeCallback(token, verifier); Assert.AreNotEqual(0, db.Users.Count()); Assert.AreEqual(token, db.Users.First().OAuthToken); Assert.AreEqual(verifier, db.Users.First().OAuthTokenSecret); Assert.AreEqual(TestUsername, db.Users.First().TwitterUserName); }