Files
OldThink/Content.IntegrationTests/Tests/Networking/ReconnectTest.cs

49 lines
1.6 KiB
C#
Raw Normal View History

2020-01-26 23:53:48 +01:00
using System.Threading.Tasks;
using NUnit.Framework;
using Robust.Client.Console;
using Robust.Shared.IoC;
using Robust.Shared.Network;
2020-01-26 23:53:48 +01:00
namespace Content.IntegrationTests.Tests.Networking
2020-01-26 23:53:48 +01:00
{
[TestFixture]
public sealed class ReconnectTest : ContentIntegrationTest
2020-01-26 23:53:48 +01:00
{
[Test]
public async Task Test()
{
var client = StartClient();
var server = StartServer();
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
// Connect.
client.SetConnectTarget(server);
await client.WaitPost(() => IoCManager.Resolve<IClientNetManager>().ClientConnect(null, 0, null));
2020-01-26 23:53:48 +01:00
// Run some ticks for the handshake to complete and such.
await RunTicksSync(client, server, 10);
2020-01-26 23:53:48 +01:00
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
await client.WaitPost(() => IoCManager.Resolve<IClientConsoleHost>().ExecuteCommand("disconnect"));
2020-01-26 23:53:48 +01:00
// Run some ticks for the disconnect to complete and such.
await RunTicksSync(client, server, 5);
2020-01-26 23:53:48 +01:00
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
// Reconnect.
client.SetConnectTarget(server);
await client.WaitPost(() => IoCManager.Resolve<IClientNetManager>().ClientConnect(null, 0, null));
2020-01-26 23:53:48 +01:00
// Run some ticks for the handshake to complete and such.
await RunTicksSync(client, server, 10);
2020-01-26 23:53:48 +01:00
await Task.WhenAll(client.WaitIdleAsync(), server.WaitIdleAsync());
}
}
}