Skip to content

Commit 319a105

Browse files
committed
feat: request/response testing
1 parent 271cf6f commit 319a105

4 files changed

Lines changed: 83 additions & 0 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using Insthync.SimpleNetworkManager.NET.Messages;
2+
using MessagePack;
3+
4+
namespace Insthync.SimpleNetworkManager.NET.Tests.Messages
5+
{
6+
[MessagePackObject]
7+
public class TestRequestMessage : BaseRequestMessage
8+
{
9+
[Key(1)]
10+
public string? stringVal;
11+
12+
public override uint GetMessageType()
13+
{
14+
return 2;
15+
}
16+
}
17+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
using Cysharp.Threading.Tasks;
2+
using Insthync.SimpleNetworkManager.NET.Messages;
3+
using Insthync.SimpleNetworkManager.NET.Network;
4+
5+
namespace Insthync.SimpleNetworkManager.NET.Tests.Messages
6+
{
7+
public class TestRequestMessageHandler : BaseRequestMessageHandler<TestRequestMessage, TestResponseMessage>
8+
{
9+
protected override UniTask<TestResponseMessage> HandleRequestAsync(BaseClientConnection clientConnection, TestRequestMessage request)
10+
{
11+
return UniTask.FromResult(new TestResponseMessage()
12+
{
13+
Success = true,
14+
stringVal = request.stringVal + '_' + request.stringVal,
15+
});
16+
}
17+
}
18+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
using Insthync.SimpleNetworkManager.NET.Messages;
2+
using MessagePack;
3+
4+
namespace Insthync.SimpleNetworkManager.NET.Tests.Messages
5+
{
6+
[MessagePackObject]
7+
public class TestResponseMessage : BaseResponseMessage
8+
{
9+
[Key(3)]
10+
public string? stringVal;
11+
12+
public override uint GetMessageType()
13+
{
14+
return 3;
15+
}
16+
}
17+
}

SimpleNetworkManager.NET.Tests/Network/TcpTransport/TcpTransportTests.cs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,5 +253,36 @@ public async Task TestClientMaxConnections()
253253

254254
Assert.False(server.IsRunning);
255255
}
256+
257+
[Fact]
258+
public async Task TestRequestResponse()
259+
{
260+
var server = new TcpNetworkServer(_loggerFactoryMock.Object);
261+
var serverTestMsgHandler = new TestRequestMessageHandler();
262+
server.MessageRouterService.RegisterHandler(serverTestMsgHandler);
263+
var serverCancelSrc = new CancellationTokenSource();
264+
await server.StartAsync(7893, serverCancelSrc.Token);
265+
266+
var client = new TcpNetworkClient(_loggerFactoryMock.Object);
267+
var clientCancelSrc = new CancellationTokenSource();
268+
await client.ConnectAsync("127.0.0.1", 7893, clientCancelSrc.Token);
269+
270+
Assert.True(server.IsRunning);
271+
Assert.True(client.IsConnected);
272+
273+
Assert.NotNull(client.ClientConnection);
274+
var response = await client.SendRequestAsync<TestResponseMessage>(new TestRequestMessage()
275+
{
276+
stringVal = "Hello",
277+
});
278+
279+
Assert.Equal("Hello_Hello", response.stringVal);
280+
281+
await client.DisconnectAsync();
282+
await server.StopAsync();
283+
284+
Assert.False(server.IsRunning);
285+
Assert.False(client.IsConnected);
286+
}
256287
}
257288
}

0 commit comments

Comments
 (0)