2
0
mirror of synced 2025-02-02 03:35:15 +00:00

43 lines
1.1 KiB
C#
Raw Normal View History

using CodexTests;
2023-04-26 14:59:26 +02:00
using DistTestCore;
using FileUtils;
2023-04-26 14:59:26 +02:00
using NUnit.Framework;
2023-09-08 10:21:40 +02:00
using Utils;
2023-09-20 10:59:52 +02:00
namespace CodexLongTests.BasicTests
2023-04-26 14:59:26 +02:00
{
[TestFixture]
2023-09-20 10:59:52 +02:00
public class DownloadTests : CodexDistTest
2023-04-26 14:59:26 +02:00
{
[TestCase(3, 500)]
[TestCase(5, 100)]
2023-04-28 07:22:17 +02:00
[TestCase(10, 256)]
[UseLongTimeouts]
public void ParallelDownload(int numberOfNodes, int filesizeMb)
2023-04-26 14:59:26 +02:00
{
2023-09-20 10:59:52 +02:00
var group = AddCodex(numberOfNodes);
var host = AddCodex();
2023-04-26 14:59:26 +02:00
foreach (var node in group)
{
host.ConnectToPeer(node);
}
var testFile = GenerateTestFile(filesizeMb.MB());
2023-04-26 14:59:26 +02:00
var contentId = host.UploadFile(testFile);
2023-09-20 10:59:52 +02:00
var list = new List<Task<TrackedFile?>>();
2023-06-01 12:27:54 +02:00
2023-04-26 14:59:26 +02:00
foreach (var node in group)
{
list.Add(Task.Run(() => { return node.DownloadContent(contentId); }));
}
Task.WaitAll(list.ToArray());
foreach (var task in list)
{
testFile.AssertIsEqual(task.Result);
}
}
}
}