public void ShouldBeAbleToGetHttpClient() { // Arrange var proxy = new ImageGalleryHttpClient(); // Act var client = proxy.GetClient(); // Assert Assert.IsType <HttpClient>(client); Assert.Equal("http://localhost:58828/", client.BaseAddress.ToString()); Assert.Contains(new MediaTypeWithQualityHeaderValue("application/json"), client.DefaultRequestHeaders.Accept); }
private static async Task <GalleryIndexViewModel> InvokeApi() { var errorResult = Task.FromResult(new GalleryIndexViewModel(new List <Image> { new Image { Id = Guid.Empty, Title = "Error", FileName = "Error" } })); var discoveryClient = new DiscoveryClient("https://localhost:44313/"); var metadataResponse = await discoveryClient.GetAsync(); var tokenClient = new TokenClient(metadataResponse.TokenEndpoint, "IntegrationSvc", "-Yell0wcar-"); var tokenResponse = await tokenClient.RequestResourceOwnerPasswordAsync("System", "5y5tem", "imagegalleryapi"); if (tokenResponse.IsError) { return(await Task.FromResult(new GalleryIndexViewModel(new List <Image> { new Image { Id = Guid.Empty, Title = "Error", FileName = tokenResponse.Error } }))); } var imageGalleryHttpClient = new ImageGalleryHttpClient(tokenResponse.AccessToken); var httpClient = imageGalleryHttpClient.GetClient(); var response = await httpClient.GetAsync($"api/images").ConfigureAwait(false); if (response.IsSuccessStatusCode) { var imagesAsString = await response.Content.ReadAsStringAsync().ConfigureAwait(false); var galleryIndexViewModel = new GalleryIndexViewModel( JsonConvert.DeserializeObject <IList <Image> >(imagesAsString).ToList()); return(await Task.FromResult(galleryIndexViewModel)); } else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized || response.StatusCode == System.Net.HttpStatusCode.Forbidden) { return(await errorResult); } return(await errorResult); }