Skip to content

Commit 031fc0f

Browse files
committed
HttpApiFactory的单元测试修改
1 parent 6c62e82 commit 031fc0f

File tree

3 files changed

+13
-23
lines changed

3 files changed

+13
-23
lines changed

WebApiClient.Test/HttpApiFactoryTest.cs

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,15 @@ public void CreateHttpApiTest()
1717
var factory = new HttpApiFactory<IMyApi>()
1818
.SetLifetime(TimeSpan.FromMilliseconds(100d));
1919

20-
var api1 = factory.CreateHttpApi();
21-
var api2 = factory.CreateHttpApi();
22-
Assert.True(IsHttpApiConfigEquals(api1, api2));
20+
var api1 = ((IHttpApiFactory)factory).CreateHttpApi();
21+
var api2 = ((IHttpApiFactory)factory).CreateHttpApi();
22+
Assert.True(IsHttpHandlerEquals(api1, api2));
2323
Assert.False(api1 == api2);
2424

2525
Thread.Sleep(TimeSpan.FromMilliseconds(150));
2626

27-
var api3 = factory.CreateHttpApi();
28-
Assert.False(IsHttpApiConfigEquals(api1, api3));
29-
30-
api3.Dispose();
31-
Assert.True(GetHttpApiConfig(api3).IsDisposed == false);
27+
var api3 = ((IHttpApiFactory)factory).CreateHttpApi();
28+
Assert.False(IsHttpHandlerEquals(api1, api3));
3229
}
3330

3431
[Fact]
@@ -39,28 +36,25 @@ public void AddCreateTest()
3936

4037
var api1 = HttpApiFactory.Create<IMyApi>();
4138
var api2 = HttpApiFactory.Create<IMyApi>();
42-
Assert.True(IsHttpApiConfigEquals(api1, api2));
39+
Assert.True(IsHttpHandlerEquals(api1, api2));
4340
Assert.False(api1 == api2);
4441

4542
Thread.Sleep(TimeSpan.FromMilliseconds(150));
4643

4744
var api3 = HttpApiFactory.Create<IMyApi>();
48-
Assert.False(IsHttpApiConfigEquals(api1, api3));
49-
50-
api3.Dispose();
51-
Assert.True(GetHttpApiConfig(api3).IsDisposed == false);
45+
Assert.False(IsHttpHandlerEquals(api1, api3));
5246
}
5347

54-
private bool IsHttpApiConfigEquals(IHttpApi x, IHttpApi y)
48+
private bool IsHttpHandlerEquals(IHttpApi x, IHttpApi y)
5549
{
56-
return GetHttpApiConfig(x) == GetHttpApiConfig(y);
50+
return GetHttpHandler(x) == GetHttpHandler(y);
5751
}
5852

59-
private HttpApiConfig GetHttpApiConfig(IHttpApi httpApi)
53+
private HttpMessageHandler GetHttpHandler(IHttpApi httpApi)
6054
{
6155
var httpApiClient = httpApi as HttpApiClient;
6256
var interceptor = httpApiClient.ApiInterceptor as ApiInterceptor;
63-
return interceptor.HttpApiConfig;
57+
return interceptor.HttpApiConfig.HttpHandler.SourceHanlder;
6458
}
6559

6660
public interface IMyApi : IHttpApi

WebApiClient/Internal/HttpApiFactories/LifetimeHttpApiConfig.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
11
using System;
2-
using System.Collections.Generic;
3-
using System.Linq;
42
using System.Net.Http;
5-
using System.Text;
6-
using System.Threading.Tasks;
73

84
namespace WebApiClient
95
{
106
/// <summary>
11-
/// 表示自主生命周期管理的HttpApiConfig
7+
/// 表示自主管理生命周期的HttpApiConfig
128
/// </summary>
139
class LifetimeHttpApiConfig : HttpApiConfig
1410
{

WebApiClient/Internal/HttpApiFactories/LifetimeHttpHandler.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
namespace WebApiClient
77
{
88
/// <summary>
9-
/// 表示具有生命周期的HttpHandler
9+
/// 表示自主管理生命周期的的HttpMessageHandler
1010
/// </summary>
1111
[DebuggerDisplay("LifeTime = {lifeTime}")]
1212
class LifetimeHttpHandler : DelegatingHandler

0 commit comments

Comments
 (0)