182 lines
5.7 KiB
C#
182 lines
5.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Net.Http.Json;
|
|
|
|
namespace HttpClientStudy.UnitTest
|
|
{
|
|
/// <summary>
|
|
/// 基础HttpClient 测试
|
|
/// </summary>
|
|
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<BaseResult<List<Account>>>();
|
|
Assert.IsType<BaseResult<List<Account>>>(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<BaseResult<List<Account>>>();
|
|
Assert.IsType<BaseResult<List<Account>>>(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<BaseResult<List<Account>>>();
|
|
Assert.IsType<BaseResult<List<Account>>>(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<BaseResult<List<Account>>>();
|
|
Assert.IsType<BaseResult<List<Account>>>(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<BaseResult<List<Account>>>();
|
|
Assert.IsType<BaseResult<List<Account>>>(result);
|
|
Assert.Equal(1, result.Code);
|
|
Assert.NotNull(result.Data);
|
|
}
|
|
#endregion
|
|
|
|
/// <summary>
|
|
/// Put 请求
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[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<BaseResult<List<Account>>>();
|
|
Assert.IsType<BaseResult<List<Account>>>(result);
|
|
Assert.Equal(1, result.Code);
|
|
Assert.NotNull(result.Data);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Head 请求
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[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<BaseResult<List<Account>>>();
|
|
Assert.IsType<BaseResult<List<Account>>>(result);
|
|
Assert.Equal(1, result.Code);
|
|
Assert.NotNull(result.Data);
|
|
}
|
|
}
|
|
}
|