@@ -52,19 +52,25 @@ protected override EndPoint GetLocalEndPointToBind()
52
52
: throw new NotSupportedException ( ) ,
53
53
port : 0
54
54
) ;
55
+
56
+ public IPEndPoint LocalEndPointToConnect
57
+ => new (
58
+ address : Socket . OSSupportsIPv6 ? IPAddress . IPv6Any : IPAddress . Any ,
59
+ port : ( ( IPEndPoint ) LocalEndPoint ) . Port
60
+ ) ;
55
61
}
56
62
57
- private static NodeBase CreateNode ( )
63
+ private static TestLocalNode CreateNode ( )
58
64
=> CreateNode ( accessRule : null , plugins : Array . Empty < IPlugin > ( ) ) ;
59
65
60
- private static NodeBase CreateNode ( IAccessRule ? accessRule )
66
+ private static TestLocalNode CreateNode ( IAccessRule ? accessRule )
61
67
=> CreateNode ( accessRule : accessRule , plugins : Array . Empty < IPlugin > ( ) ) ;
62
68
63
- private static NodeBase CreateNode ( IReadOnlyList < IPlugin > plugins )
69
+ private static TestLocalNode CreateNode ( IReadOnlyList < IPlugin > plugins )
64
70
=> CreateNode ( accessRule : null , plugins : plugins ) ;
65
71
66
- private static NodeBase CreateNode ( IAccessRule ? accessRule , IReadOnlyList < IPlugin > plugins )
67
- => new TestLocalNode ( accessRule , plugins ) ;
72
+ private static TestLocalNode CreateNode ( IAccessRule ? accessRule , IReadOnlyList < IPlugin > plugins )
73
+ => new ( accessRule , plugins ) ;
68
74
69
75
private static TcpClient CreateClient (
70
76
IPEndPoint endPoint ,
@@ -122,7 +128,7 @@ Func<NodeBase, TcpClient, StreamWriter, StreamReader, CancellationToken, Task> a
122
128
cts . Token
123
129
) ;
124
130
125
- using var client = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out var writer , out var reader ) ;
131
+ using var client = CreateClient ( node . LocalEndPointToConnect , out var writer , out var reader ) ;
126
132
127
133
try {
128
134
reader . ReadLine ( ) ; // banner
@@ -157,7 +163,7 @@ public async Task AcceptSingleSessionAsync()
157
163
158
164
var taskAccept = Task . Run ( async ( ) => await node . AcceptSingleSessionAsync ( ) ) ;
159
165
160
- using var client = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out var writer , out var reader ) ;
166
+ using var client = CreateClient ( node . LocalEndPointToConnect , out var writer , out var reader ) ;
161
167
162
168
var banner = reader . ReadLine ( ) ;
163
169
@@ -202,7 +208,7 @@ public async Task AcceptSingleSessionAsync_ClientDisconnected_BeforeSendingBanne
202
208
203
209
var taskAccept = Task . Run ( async ( ) => await node . AcceptSingleSessionAsync ( ) ) ;
204
210
205
- using var client = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out _ , out _ ) ;
211
+ using var client = CreateClient ( node . LocalEndPointToConnect , out _ , out _ ) ;
206
212
207
213
client . Close ( ) ;
208
214
@@ -218,7 +224,7 @@ public async Task AcceptSingleSessionAsync_ClientDisconnected_WhileAwaitingComma
218
224
219
225
var taskAccept = Task . Run ( async ( ) => await node . AcceptSingleSessionAsync ( ) ) ;
220
226
221
- using var client = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out _ , out var reader ) ;
227
+ using var client = CreateClient ( node . LocalEndPointToConnect , out _ , out var reader ) ;
222
228
223
229
reader . ReadLine ( ) ; // read banner
224
230
@@ -335,7 +341,7 @@ public async Task AcceptSingleSessionAsync_INodeSessionCallback(bool setSessionC
335
341
Assert . That ( plugin . StartedSessionIds . Count , Is . EqualTo ( 0 ) , nameof ( plugin . StartedSessionIds ) ) ;
336
342
Assert . That ( plugin . ClosedSessionIds . Count , Is . EqualTo ( 0 ) , nameof ( plugin . ClosedSessionIds ) ) ;
337
343
338
- using var client = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out var writer , out var reader ) ;
344
+ using var client = CreateClient ( node . LocalEndPointToConnect , out var writer , out var reader ) ;
339
345
340
346
var banner = reader . ReadLine ( ) ;
341
347
@@ -383,15 +389,15 @@ public async Task AcceptAsync(bool throwIfCancellationRequested)
383
389
384
390
var taskAccept = Task . Run ( async ( ) => await node . AcceptAsync ( throwIfCancellationRequested , cts . Token ) ) ;
385
391
386
- using var client0 = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out var writer0 , out var reader0 ) ;
392
+ using var client0 = CreateClient ( node . LocalEndPointToConnect , out var writer0 , out var reader0 ) ;
387
393
388
394
reader0 . ReadLine ( ) ;
389
395
writer0 . WriteLine ( "." ) ;
390
396
writer0 . Close ( ) ;
391
397
392
398
Assert . That ( taskAccept . Wait ( TimeSpan . FromSeconds ( 1.0 ) ) , Is . False , "task must not be completed" ) ;
393
399
394
- using var client1 = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out var writer1 , out var reader1 ) ;
400
+ using var client1 = CreateClient ( node . LocalEndPointToConnect , out var writer1 , out var reader1 ) ;
395
401
396
402
reader1 . ReadLine ( ) ;
397
403
writer1 . WriteLine ( "." ) ;
@@ -417,7 +423,7 @@ public async Task ProcessCommandAsync_EndOfLine(string eol)
417
423
418
424
var taskAccept = Task . Run ( async ( ) => await node . AcceptSingleSessionAsync ( ) ) ;
419
425
420
- using var client = CreateClient ( ( IPEndPoint ) node . LocalEndPoint , out var writer , out _ ) ;
426
+ using var client = CreateClient ( node . LocalEndPointToConnect , out var writer , out _ ) ;
421
427
422
428
writer . Write ( "." ) ;
423
429
writer . Write ( eol ) ;
0 commit comments