1- using NSubstitute ;
2-
3- namespace TestableHttpClient . Tests ;
1+ namespace TestableHttpClient . Tests ;
42
53public partial class TestableHttpMessageHandlerExtensionsTests
64{
@@ -10,9 +8,8 @@ public void CreateClientWithConfigurerAndHttpMessageHandlers_NullTestableHttpMes
108 TestableHttpMessageHandler sut = null ! ;
119
1210 static void configureClient ( HttpClient _ ) { }
13- var handlers = Enumerable . Empty < DelegatingHandler > ( ) ;
14-
15- var exception = Assert . Throws < ArgumentNullException > ( ( ) => sut . CreateClient ( configureClient , handlers ) ) ;
11+
12+ var exception = Assert . Throws < ArgumentNullException > ( ( ) => sut . CreateClient ( configureClient , [ ] ) ) ;
1613 Assert . Equal ( "handler" , exception . ParamName ) ;
1714 }
1815
@@ -21,9 +18,8 @@ public void CreateClientWithConfigurerAndHttpMessageHandlers_NullConfigureAction
2118 {
2219 using TestableHttpMessageHandler sut = new ( ) ;
2320 Action < HttpClient > configureClient = null ! ;
24- var handlers = Enumerable . Empty < DelegatingHandler > ( ) ;
25-
26- var exception = Assert . Throws < ArgumentNullException > ( ( ) => sut . CreateClient ( configureClient , handlers ) ) ;
21+
22+ var exception = Assert . Throws < ArgumentNullException > ( ( ) => sut . CreateClient ( configureClient , [ ] ) ) ;
2723 Assert . Equal ( "configureClient" , exception . ParamName ) ;
2824 }
2925
@@ -42,33 +38,30 @@ static void configureClient(HttpClient _) { }
4238 [ Fact ]
4339 public void CreateClientWithConfigurerAndHttpMessageHandlers_CallsConfigureClientWithClientToReturn ( )
4440 {
41+ HttpClient ? capturedClient = null ;
4542 using TestableHttpMessageHandler sut = new ( ) ;
46- var configureClient = Substitute . For < Action < HttpClient > > ( ) ;
47- var handlers = Enumerable . Empty < DelegatingHandler > ( ) ;
48-
49- using var client = sut . CreateClient ( configureClient , handlers ) ;
43+ void configureClient ( HttpClient client ) => capturedClient = client ;
44+
45+ using var client = sut . CreateClient ( configureClient , [ ] ) ;
5046
51- configureClient . Received ( 1 ) . Invoke ( client ) ;
47+ Assert . Same ( client , capturedClient ) ;
5248 }
5349
5450 [ Fact ]
5551 public void CreateClientWithConfigurerAndHttpMessageHandlers_WhenHttpMessageHandlersArePassed_HandlersAreCorrectlyLinked ( )
5652 {
5753 using TestableHttpMessageHandler sut = new ( ) ;
5854 static void configureClient ( HttpClient _ ) { }
59- IEnumerable < DelegatingHandler > handlers =
60- [
61- Substitute . For < DelegatingHandler > ( ) ,
62- Substitute . For < DelegatingHandler > ( )
63- ] ;
55+ using TestDelegateHandler delegate1 = new ( ) ;
56+ using TestDelegateHandler delegate2 = new ( ) ;
6457
65- using var client = sut . CreateClient ( configureClient , handlers ) ;
58+ using var client = sut . CreateClient ( configureClient , [ delegate1 , delegate2 ] ) ;
6659
6760 var handler = GetPrivateHandler ( client ) ;
6861 var delegatingHandler1 = Assert . IsAssignableFrom < DelegatingHandler > ( handler ) ;
69- Assert . Same ( handlers . First ( ) , delegatingHandler1 ) ;
62+ Assert . Same ( delegate1 , delegatingHandler1 ) ;
7063 var delegatingHandler2 = Assert . IsAssignableFrom < DelegatingHandler > ( delegatingHandler1 . InnerHandler ) ;
71- Assert . Same ( handlers . Last ( ) , delegatingHandler2 ) ;
64+ Assert . Same ( delegate2 , delegatingHandler2 ) ;
7265 Assert . Same ( sut , delegatingHandler2 . InnerHandler ) ;
7366 }
7467
@@ -77,13 +70,10 @@ public void CreateClientWithConfigurerAndHttpMessageHandlers_ByDefault_SetsDefau
7770 {
7871 using TestableHttpMessageHandler sut = new ( ) ;
7972 static void configureClient ( HttpClient client ) { }
80- IEnumerable < DelegatingHandler > handlers =
81- [
82- Substitute . For < DelegatingHandler > ( ) ,
83- Substitute . For < DelegatingHandler > ( )
84- ] ;
73+ using TestDelegateHandler delegate1 = new ( ) ;
74+ using TestDelegateHandler delegate2 = new ( ) ;
8575
86- using var client = sut . CreateClient ( configureClient , handlers ) ;
76+ using var client = sut . CreateClient ( configureClient , [ delegate1 , delegate2 ] ) ;
8777
8878 Assert . Equal ( new Uri ( "https://localhost" ) , client . BaseAddress ) ;
8979 }
@@ -93,15 +83,14 @@ public void CreateClientWithConfigurerAndHttpMessageHandlers_WhenConfiguringBase
9383 {
9484 using TestableHttpMessageHandler sut = new ( ) ;
9585 static void configureClient ( HttpClient client ) { client . BaseAddress = new Uri ( "https://example" ) ; }
96- IEnumerable < DelegatingHandler > handlers =
97- [
98- Substitute . For < DelegatingHandler > ( ) ,
99- Substitute . For < DelegatingHandler > ( )
100- ] ;
86+ using TestDelegateHandler delegate1 = new ( ) ;
87+ using TestDelegateHandler delegate2 = new ( ) ;
10188
102- using var client = sut . CreateClient ( configureClient , handlers ) ;
89+ using var client = sut . CreateClient ( configureClient , [ delegate1 , delegate2 ] ) ;
10390
10491 Assert . Equal ( new Uri ( "https://example" ) , client . BaseAddress ) ;
10592 }
93+
94+ private sealed class TestDelegateHandler : DelegatingHandler { }
10695}
10796
0 commit comments