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"; Mock<AppServiceHttpClient> appServiceClientMock = new Mock<AppServiceHttpClient>(new Uri(webappUri)); appServiceClientMock.CallBase = true; appServiceClientMock.Setup(c => c.CreateHttpClient()) .Returns(new HttpClient(handlerMock)); // Act TokenEntry result = await appServiceClientMock.Object.GetRawTokenAsync(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_SendsCorrectRequest() { HttpConfiguration config = new HttpConfiguration(); config.SetMobileAppSettingsProvider(new MobileAppSettingsProvider()); string accessToken = "11111"; string facebookId = "22222"; TokenResult tokenResult = CreateTokenResult(facebookId, accessToken); MockHttpMessageHandler handlerMock = new MockHttpMessageHandler(CreateResponse(tokenResult)); var gatewayUri = "http://test"; Mock<AppServiceHttpClient> appServiceClientMock = new Mock<AppServiceHttpClient>(new Uri(gatewayUri)); appServiceClientMock.CallBase = true; appServiceClientMock.Setup(c => c.CreateHttpClient()) .Returns(new HttpClient(handlerMock)); // Act TokenResult result = await appServiceClientMock.Object.GetRawTokenAsync(accessToken, "Facebook"); // Assert Assert.Equal(accessToken, result.Properties[TokenResult.Authentication.AccessTokenName]); Assert.Equal(gatewayUri + "/api/tokens?tokenName=Facebook&api-version=2015-01-14", 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 void SetMobileAppSettingsProvider_ReturnsDefault_IfSetToNull() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.SetMobileAppSettingsProvider(null); IMobileAppSettingsProvider actual = config.GetMobileAppSettingsProvider(); // Assert Assert.NotNull(actual); Assert.IsType <MobileAppSettingsProvider>(actual); }
public void SetMobileAppSettingsProvider_Roundtrips() { // Arrange MobileAppSettingsProvider provider = new MobileAppSettingsProvider(); HttpConfiguration config = new HttpConfiguration(); // Act config.SetMobileAppSettingsProvider(provider); IMobileAppSettingsProvider actual = config.GetMobileAppSettingsProvider(); // Assert Assert.Same(provider, actual); }
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); }
public override void ApplyTo(HttpConfiguration config) { if (config.GetMobileAppConfiguration() != null) { throw new InvalidOperationException(RResources.ApplyTo_CalledTwice); } config.SetMobileAppConfiguration(this); config.SetMobileAppSettingsProvider(this.MobileAppSettingsProvider); config.SetCachePolicyProvider(new CachePolicyProvider()); base.ApplyTo(config); if (this.EnableApiControllers) { MapApiControllers(config); } }
public void SetMobileAppSettingsProvider_ReturnsDefault_IfSetToNull() { // Arrange HttpConfiguration config = new HttpConfiguration(); // Act config.SetMobileAppSettingsProvider(null); IMobileAppSettingsProvider actual = config.GetMobileAppSettingsProvider(); // Assert Assert.NotNull(actual); Assert.IsType<MobileAppSettingsProvider>(actual); }