cs-codex-dist-tests/Tests/PeerDiscoveryTests/PeerDiscoveryTests.cs

64 lines
1.6 KiB
C#
Raw Normal View History

using DistTestCore;
using DistTestCore.Codex;
using DistTestCore.Helpers;
2023-05-10 06:53:57 +00:00
using NUnit.Framework;
using Utils;
2023-05-10 06:53:57 +00:00
namespace Tests.PeerDiscoveryTests
{
2023-05-10 07:09:31 +00:00
[TestFixture]
2023-05-10 06:53:57 +00:00
public class PeerDiscoveryTests : AutoBootstrapDistTest
{
[TestCase(2)]
[TestCase(3)]
[TestCase(10)]
public void VariableNodes(int number)
{
SetupCodexNodes(number);
2023-05-10 06:53:57 +00:00
AssertAllNodesConnected();
2023-05-10 06:53:57 +00:00
}
[TestCase(2)]
[TestCase(3)]
[TestCase(10)]
public void VariableNodesInPods(int number)
{
for (var i = 0; i < number; i++)
{
SetupCodexNode();
2023-05-10 06:53:57 +00:00
}
AssertAllNodesConnected();
2023-05-10 06:53:57 +00:00
}
[TestCase(3, 3)]
[TestCase(3, 5)]
[TestCase(3, 10)]
[TestCase(5, 10)]
[TestCase(3, 20)]
[TestCase(5, 20)]
public void StagedVariableNodes(int numberOfNodes, int numberOfStages)
{
for (var i = 0; i < numberOfStages; i++)
{
SetupCodexNodes(numberOfNodes, s => s.WithLogLevel(CodexLogLevel.Trace));
AssertAllNodesConnected();
}
for (int i = 0; i < 5; i++)
{
Time.Sleep(TimeSpan.FromSeconds(30));
AssertAllNodesConnected();
}
}
private void AssertAllNodesConnected()
2023-05-10 06:53:57 +00:00
{
PeerConnectionTestHelpers.AssertFullyConnected(GetAllOnlineCodexNodes());
PeerDownloadTestHelpers.AssertFullDownloadInterconnectivity(GetAllOnlineCodexNodes());
2023-05-10 06:53:57 +00:00
}
}
}