2026-04-17 15:03:22 +10:00
|
|
|
|
using LogosStorageTests;
|
2024-11-21 11:21:41 +01:00
|
|
|
|
using NUnit.Framework;
|
|
|
|
|
|
using Utils;
|
|
|
|
|
|
|
2026-04-17 15:03:22 +10:00
|
|
|
|
namespace LogosStorageReleaseTests.DataTests
|
2024-11-21 11:21:41 +01:00
|
|
|
|
{
|
|
|
|
|
|
[TestFixture]
|
2026-04-17 15:03:22 +10:00
|
|
|
|
public class StreamlessDownloadTest : LogosStorageDistTest
|
2024-11-21 11:21:41 +01:00
|
|
|
|
{
|
|
|
|
|
|
[Test]
|
|
|
|
|
|
public void StreamlessTest()
|
|
|
|
|
|
{
|
2026-04-17 15:03:22 +10:00
|
|
|
|
var uploader = StartLogosStorage();
|
|
|
|
|
|
var downloader = StartLogosStorage(s => s.WithBootstrapNode(uploader));
|
2024-11-21 11:21:41 +01:00
|
|
|
|
|
2024-12-18 12:47:54 +01:00
|
|
|
|
var size = 10.MB();
|
|
|
|
|
|
var file = GenerateTestFile(size);
|
2024-11-21 11:21:41 +01:00
|
|
|
|
var cid = uploader.UploadFile(file);
|
|
|
|
|
|
|
|
|
|
|
|
var startSpace = downloader.Space();
|
|
|
|
|
|
var start = DateTime.UtcNow;
|
2024-12-18 12:47:54 +01:00
|
|
|
|
var localDataset = downloader.DownloadStreamlessWait(cid, size);
|
2024-11-21 11:28:18 +01:00
|
|
|
|
|
|
|
|
|
|
Assert.That(localDataset.Cid, Is.EqualTo(cid));
|
2025-06-09 10:14:30 +02:00
|
|
|
|
Assert.That(localDataset.Manifest.DatasetSize.SizeInBytes, Is.EqualTo(file.GetFilesize().SizeInBytes));
|
2024-11-21 11:21:41 +01:00
|
|
|
|
|
|
|
|
|
|
// Stop the uploader node and verify that the downloader has the data.
|
|
|
|
|
|
uploader.Stop(waitTillStopped: true);
|
|
|
|
|
|
var downloaded = downloader.DownloadContent(cid);
|
|
|
|
|
|
file.AssertIsEqual(downloaded);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|