Skip to content

Commit c97fb30

Browse files
committed
ensure to use the IPAddress.(IPv6)Any to connect to the test node
1 parent 0c4121c commit c97fb30

File tree

1 file changed

+19
-13
lines changed

1 file changed

+19
-13
lines changed

tests/Smdn.Net.MuninNode/Smdn.Net.MuninNode/NodeBase.cs

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,25 @@ protected override EndPoint GetLocalEndPointToBind()
5252
: throw new NotSupportedException(),
5353
port: 0
5454
);
55+
56+
public IPEndPoint LocalEndPointToConnect
57+
=> new(
58+
address: Socket.OSSupportsIPv6 ? IPAddress.IPv6Any : IPAddress.Any,
59+
port: ((IPEndPoint)LocalEndPoint).Port
60+
);
5561
}
5662

57-
private static NodeBase CreateNode()
63+
private static TestLocalNode CreateNode()
5864
=> CreateNode(accessRule: null, plugins: Array.Empty<IPlugin>());
5965

60-
private static NodeBase CreateNode(IAccessRule? accessRule)
66+
private static TestLocalNode CreateNode(IAccessRule? accessRule)
6167
=> CreateNode(accessRule: accessRule, plugins: Array.Empty<IPlugin>());
6268

63-
private static NodeBase CreateNode(IReadOnlyList<IPlugin> plugins)
69+
private static TestLocalNode CreateNode(IReadOnlyList<IPlugin> plugins)
6470
=> CreateNode(accessRule: null, plugins: plugins);
6571

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

6975
private static TcpClient CreateClient(
7076
IPEndPoint endPoint,
@@ -122,7 +128,7 @@ Func<NodeBase, TcpClient, StreamWriter, StreamReader, CancellationToken, Task> a
122128
cts.Token
123129
);
124130

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

127133
try {
128134
reader.ReadLine(); // banner
@@ -157,7 +163,7 @@ public async Task AcceptSingleSessionAsync()
157163

158164
var taskAccept = Task.Run(async () => await node.AcceptSingleSessionAsync());
159165

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

162168
var banner = reader.ReadLine();
163169

@@ -202,7 +208,7 @@ public async Task AcceptSingleSessionAsync_ClientDisconnected_BeforeSendingBanne
202208

203209
var taskAccept = Task.Run(async () => await node.AcceptSingleSessionAsync());
204210

205-
using var client = CreateClient((IPEndPoint)node.LocalEndPoint, out _, out _);
211+
using var client = CreateClient(node.LocalEndPointToConnect, out _, out _);
206212

207213
client.Close();
208214

@@ -218,7 +224,7 @@ public async Task AcceptSingleSessionAsync_ClientDisconnected_WhileAwaitingComma
218224

219225
var taskAccept = Task.Run(async () => await node.AcceptSingleSessionAsync());
220226

221-
using var client = CreateClient((IPEndPoint)node.LocalEndPoint, out _, out var reader);
227+
using var client = CreateClient(node.LocalEndPointToConnect, out _, out var reader);
222228

223229
reader.ReadLine(); // read banner
224230

@@ -335,7 +341,7 @@ public async Task AcceptSingleSessionAsync_INodeSessionCallback(bool setSessionC
335341
Assert.That(plugin.StartedSessionIds.Count, Is.EqualTo(0), nameof(plugin.StartedSessionIds));
336342
Assert.That(plugin.ClosedSessionIds.Count, Is.EqualTo(0), nameof(plugin.ClosedSessionIds));
337343

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

340346
var banner = reader.ReadLine();
341347

@@ -383,15 +389,15 @@ public async Task AcceptAsync(bool throwIfCancellationRequested)
383389

384390
var taskAccept = Task.Run(async () => await node.AcceptAsync(throwIfCancellationRequested, cts.Token));
385391

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

388394
reader0.ReadLine();
389395
writer0.WriteLine(".");
390396
writer0.Close();
391397

392398
Assert.That(taskAccept.Wait(TimeSpan.FromSeconds(1.0)), Is.False, "task must not be completed");
393399

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

396402
reader1.ReadLine();
397403
writer1.WriteLine(".");
@@ -417,7 +423,7 @@ public async Task ProcessCommandAsync_EndOfLine(string eol)
417423

418424
var taskAccept = Task.Run(async () => await node.AcceptSingleSessionAsync());
419425

420-
using var client = CreateClient((IPEndPoint)node.LocalEndPoint, out var writer, out _);
426+
using var client = CreateClient(node.LocalEndPointToConnect, out var writer, out _);
421427

422428
writer.Write(".");
423429
writer.Write(eol);

0 commit comments

Comments
 (0)