public async Task GetRawTokenAsync_SendsCorrectRequest() { HttpConfiguration config = new HttpConfiguration(); config.SetMobileAppSettingsProvider(new MobileAppSettingsProvider()); string accessToken = "facebookAccessToken"; string authToken = "zumoAuthToken"; string facebookId = "facebookUserId"; string providerName = "Facebook"; TokenEntry tokenEntry = new TokenEntry(providerName); tokenEntry.AccessToken = accessToken; tokenEntry.AuthenticationToken = authToken; tokenEntry.UserId = facebookId; MockHttpMessageHandler handlerMock = new MockHttpMessageHandler(CreateResponse(tokenEntry)); var webappUri = "http://test"; AppServiceHttpClient appServiceClientMock = new AppServiceHttpClient(new HttpClient(handlerMock)); // Act TokenEntry result = await appServiceClientMock.GetRawTokenAsync(new Uri(webappUri), accessToken, "Facebook"); // Assert Assert.Equal(accessToken, result.AccessToken); Assert.Equal(authToken, result.AuthenticationToken); Assert.Equal(facebookId, result.UserId); Assert.Equal(webappUri + "/.auth/me?provider=facebook", handlerMock.ActualRequest.RequestUri.ToString()); Assert.Equal(accessToken, handlerMock.ActualRequest.Headers.GetValues("x-zumo-auth").Single()); Assert.Equal("MobileAppNetServerSdk", handlerMock.ActualRequest.Headers.GetValues("User-Agent").Single()); }
public async Task GetRawTokenAsync_ReturnsNull_IfNoToken() { string accessToken = "facebookAccessToken"; MockHttpMessageHandler handlerMock = new MockHttpMessageHandler(CreateEmptyResponse()); var webappUri = "http://test"; AppServiceHttpClient appServiceClientMock = new AppServiceHttpClient(new HttpClient(handlerMock)); // Act TokenEntry result = await appServiceClientMock.GetRawTokenAsync(new Uri(webappUri), accessToken, "Facebook"); // Assert Assert.Null(result); Assert.Equal(webappUri + "/.auth/me?provider=facebook", handlerMock.ActualRequest.RequestUri.ToString()); Assert.Equal(accessToken, handlerMock.ActualRequest.Headers.GetValues("x-zumo-auth").Single()); Assert.Equal("MobileAppNetServerSdk", handlerMock.ActualRequest.Headers.GetValues("User-Agent").Single()); }
public async Task GetRawTokenAsync_Throws_IfParametersAreNull(string authToken, string tokenProviderName, string parameterThatThrows) { AppServiceHttpClient appServiceClient = new AppServiceHttpClient(new Uri("http://testuri")); // Act var ex = await Assert.ThrowsAsync<ArgumentNullException>(() => appServiceClient.GetRawTokenAsync(authToken, tokenProviderName)); // Assert Assert.NotNull(ex); Assert.Equal(parameterThatThrows, ex.ParamName); }
public async Task GetRawTokenAsync_Throws_IfResponseIsNotSuccess(HttpStatusCode status) { HttpConfiguration config = new HttpConfiguration(); config.SetMobileAppSettingsProvider(new MobileAppSettingsProvider()); var response = new HttpResponseMessage(status); MockHttpMessageHandler handlerMock = new MockHttpMessageHandler(response); var gatewayUri = "http://test"; AppServiceHttpClient appServiceClientMock = new AppServiceHttpClient(new HttpClient(handlerMock)); // Act var ex = await Assert.ThrowsAsync<HttpResponseException>(() => appServiceClientMock.GetRawTokenAsync(new Uri(gatewayUri), "123456", "Facebook")); // Assert Assert.NotNull(ex); Assert.Same(response, ex.Response); }