using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Net.Http.Json; namespace HttpClientStudy.UnitTest { /// /// 基础HttpClient 测试 /// public class NormalHttpClientTest { private readonly ITestOutputHelper _logger; public NormalHttpClientTest(ITestOutputHelper outputHelper) { _logger = outputHelper; } #region Get请求 [Fact] public async Task GetAllAccounts_Test() { HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(TestConfig.WebApiBaseUrl), }; var responseMessage = await httpClient.GetAsync("/api/Normal/GetAllAccounts"); responseMessage.EnsureSuccessStatusCode(); Assert.NotNull(responseMessage); Assert.True(responseMessage.IsSuccessStatusCode); var result = await responseMessage.Content.ReadFromJsonAsync>>(); Assert.IsType>>(result); Assert.Equal(1, result.Code); Assert.NotNull(result.Data); } [Fact] public async Task GetAccount_Id_Test() { HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(TestConfig.WebApiBaseUrl), }; var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount"); responseMessage.EnsureSuccessStatusCode(); Assert.NotNull(responseMessage); Assert.True(responseMessage.IsSuccessStatusCode); var result = await responseMessage.Content.ReadFromJsonAsync>>(); Assert.IsType>>(result); Assert.Equal(1, result.Code); Assert.NotNull(result.Data); } [Fact] public async Task GetAccount_Name_Test() { HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(TestConfig.WebApiBaseUrl), }; var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccount"); responseMessage.EnsureSuccessStatusCode(); Assert.NotNull(responseMessage); Assert.True(responseMessage.IsSuccessStatusCode); var result = await responseMessage.Content.ReadFromJsonAsync>>(); Assert.IsType>>(result); Assert.Equal(1, result.Code); Assert.NotNull(result.Data); } [Fact] public async Task GetAccountByRole_Test() { HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(TestConfig.WebApiBaseUrl), }; var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccountByRole"); responseMessage.EnsureSuccessStatusCode(); Assert.NotNull(responseMessage); Assert.True(responseMessage.IsSuccessStatusCode); var result = await responseMessage.Content.ReadFromJsonAsync>>(); Assert.IsType>>(result); Assert.Equal(1, result.Code); Assert.NotNull(result.Data); } [Fact] public async Task GetAccount_Service_Test() { HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(TestConfig.WebApiBaseUrl), }; var responseMessage = await httpClient.GetAsync("/api/Normal/GetAccountFromServices"); responseMessage.EnsureSuccessStatusCode(); Assert.NotNull(responseMessage); Assert.True(responseMessage.IsSuccessStatusCode); var result = await responseMessage.Content.ReadFromJsonAsync>>(); Assert.IsType>>(result); Assert.Equal(1, result.Code); Assert.NotNull(result.Data); } #endregion /// /// Put 请求 /// /// [Fact] public async Task PutDemo_Test() { HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(TestConfig.WebApiBaseUrl), }; var responseMessage = await httpClient.GetAsync("/api/Normal/PutDemo"); responseMessage.EnsureSuccessStatusCode(); Assert.NotNull(responseMessage); Assert.True(responseMessage.IsSuccessStatusCode); var result = await responseMessage.Content.ReadFromJsonAsync>>(); Assert.IsType>>(result); Assert.Equal(1, result.Code); Assert.NotNull(result.Data); } /// /// Head 请求 /// /// [Fact] public async Task HeadDemo_Test() { HttpClient httpClient = new HttpClient() { BaseAddress = new Uri(TestConfig.WebApiBaseUrl), }; var responseMessage = await httpClient.GetAsync("/api/Normal/HeadDemo"); responseMessage.EnsureSuccessStatusCode(); Assert.NotNull(responseMessage); Assert.True(responseMessage.IsSuccessStatusCode); var result = await responseMessage.Content.ReadFromJsonAsync>>(); Assert.IsType>>(result); Assert.Equal(1, result.Code); Assert.NotNull(result.Data); } } }