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);
}
}
}