public void GivenSomethingWeirdHappenedWhileTryingToRetrieveMeData_RetrieveAccessToken_ThrowsAnException() { // Arrange. var mockWebClientWrapper = MoqUtilities.MockedIWebClientWrapper(new[] { "access_token=foo&expires=1", "ohcrap" }); var facebookProvider = new FacebookProvider("a", "b", new Uri("http://www.google.com"), mockWebClientWrapper.Object); var facebookClient = new FacebookClient { Code = "aa", State = "bb" }; // Act. var result = Assert.Throws <InvalidOperationException>(() => facebookProvider.RetrieveAccessToken(facebookClient)); // Assert. Assert.NotNull(result); Assert.Equal("Failed to deserialize the json user information result from Facebook.", result.Message); }
public void GivenSomeInvalidResult_RetrieveAccessToken_ThrowsAnException() { // Arrange. var mockWebClientWrapper = MoqUtilities.MockedIWebClientWrapper(new [] { "asds", null }); var facebookProvider = new FacebookProvider("a", "b", new Uri("http://www.google.com"), mockWebClientWrapper.Object); var facebookClient = new FacebookClient { Code = "aa", State = "bb" }; // Act. var result = Assert.Throws <ArgumentException>(() => facebookProvider.RetrieveAccessToken(facebookClient)); // Assert. Assert.NotNull(result); Assert.Equal("value should contain 2 elements. value contains currently 1 element.\r\nParameter name: value", result.Message); }
public void GivenAMissingExpiresParam_RetrieveAccessToken_ThrowsAnException() { // Arrange. var mockWebClientWrapper = MoqUtilities.MockedIWebClientWrapper(new[] { "access_token=foo&hi=ohnoes", null }); var facebookProvider = new FacebookProvider("a", "b", new Uri("http://www.google.com"), mockWebClientWrapper.Object); var facebookClient = new FacebookClient { Code = "aa", State = "bb" }; // Act. var result = Assert.Throws <ArgumentException>(() => facebookProvider.RetrieveAccessToken(facebookClient)); // Assert. Assert.NotNull(result); Assert.Equal("value should be equal to 2. The actual value is 1.\r\nParameter name: value", result.Message); }
public void GivenValidCredentials_RetrieveAccessToken_ReturnsAnAccessTokenAndUserInformation() { // Arrange. var mockWebClientWrapper = MoqUtilities.MockedIWebClientWrapper(); var facebookProvider = new FacebookProvider("a", "b", new Uri("http://www.google.com"), mockWebClientWrapper.Object); var facebookClient = new FacebookClient { Code = "aa", State = "bb" }; // Act. facebookProvider.RetrieveAccessToken(facebookClient); // Assert. Assert.NotNull(facebookClient); Assert.NotNull(facebookClient.AccessToken); Assert.NotNull(facebookClient.Code); Assert.NotNull(facebookClient.UserInformation); Assert.True(facebookClient.UserInformation.Id > 0); Assert.NotNull(facebookClient.UserInformation.FirstName); Assert.NotNull(facebookClient.UserInformation.LastName); }