ADD Parallel download Tests
This commit is contained in:
parent
d8ff9e4d02
commit
18e59f3490
|
@ -1,3 +1,4 @@
|
|||
.vs
|
||||
obj
|
||||
bin
|
||||
.vscode
|
|
@ -0,0 +1,84 @@
|
|||
using CodexDistTestCore;
|
||||
using CodexDistTestCore.Config;
|
||||
using NUnit.Framework;
|
||||
|
||||
namespace Tests.ParallelTests
|
||||
{
|
||||
[TestFixture]
|
||||
public class DownloadTests : DistTest
|
||||
{
|
||||
[Test]
|
||||
public void TwoNodeDownloads()
|
||||
{
|
||||
ParallelDownload(2, 64.MB());
|
||||
}
|
||||
[Test]
|
||||
public void FiveNodeDownloads()
|
||||
{
|
||||
ParallelDownload(5, 1000.MB());
|
||||
}
|
||||
[Test]
|
||||
public void TenNodeDownloads()
|
||||
{
|
||||
ParallelDownload(10, 16.MB());
|
||||
}
|
||||
public void download(ContentId contentId, CodexDistTestCore.IOnlineCodexNode node, TestFile testFile)
|
||||
{
|
||||
var downloadedFile = node.DownloadContent(contentId);
|
||||
testFile.AssertIsEqual(downloadedFile);
|
||||
}
|
||||
|
||||
void ParallelDownload(int numberOfNodes, ByteSize filesize)
|
||||
{
|
||||
var group = SetupCodexNodes(numberOfNodes).EnableMetrics().BringOnline();
|
||||
|
||||
var host = group[0];
|
||||
|
||||
for (int i = 1; i < numberOfNodes; i++)
|
||||
{
|
||||
host.ConnectToPeer(group[i]);
|
||||
}
|
||||
|
||||
var testFile = GenerateTestFile(filesize);
|
||||
|
||||
var contentId = host.UploadFile(testFile);
|
||||
|
||||
for (int i = 1; i < numberOfNodes; i++)
|
||||
{
|
||||
new Task(() => { download(contentId, group[i], testFile); }).Start();
|
||||
}
|
||||
Task.WaitAll();
|
||||
}
|
||||
}
|
||||
|
||||
[TestFixture]
|
||||
public class UploadTests : DistTest
|
||||
{
|
||||
[Test]
|
||||
public void TwoNodeUploads()
|
||||
{
|
||||
}
|
||||
|
||||
public void FiveNodeUploads()
|
||||
{
|
||||
}
|
||||
public void TenNodeUploads()
|
||||
{
|
||||
}
|
||||
}
|
||||
[TestFixture]
|
||||
public class MixedTests : DistTest
|
||||
{
|
||||
[Test]
|
||||
public void OneDownloadOneUpload()
|
||||
{
|
||||
}
|
||||
|
||||
public void ThreeDownloadTwoUpload()
|
||||
{
|
||||
}
|
||||
public void FiveDownloadFiveUpload()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue