mirror of
https://github.com/logos-storage/logos-storage-nim-cs-dist-tests.git
synced 2026-01-08 00:13:08 +00:00
48 lines
1.6 KiB
C#
48 lines
1.6 KiB
C#
|
|
using System.Security.Cryptography;
|
|||
|
|
using CodexReleaseTests.MarketTests;
|
|||
|
|
using Nethereum.JsonRpc.Client;
|
|||
|
|
using NUnit.Framework;
|
|||
|
|
using Utils;
|
|||
|
|
|
|||
|
|
namespace CodexReleaseTests.DataTests
|
|||
|
|
{
|
|||
|
|
public class DecodeTest : MarketplaceAutoBootstrapDistTest
|
|||
|
|
{
|
|||
|
|
protected override int NumberOfHosts => 0;
|
|||
|
|
protected override int NumberOfClients => 2;
|
|||
|
|
protected override ByteSize HostAvailabilitySize => 0.Bytes();
|
|||
|
|
protected override TimeSpan HostAvailabilityMaxDuration => TimeSpan.FromSeconds(0.0);
|
|||
|
|
|
|||
|
|
[Test]
|
|||
|
|
public void DecodeDataset()
|
|||
|
|
{
|
|||
|
|
var clients = StartClients();
|
|||
|
|
|
|||
|
|
var file = GenerateTestFile(10.MB());
|
|||
|
|
var bCid = clients[0].UploadFile(file);
|
|||
|
|
var request = clients[0].Marketplace.RequestStorage(new CodexClient.StoragePurchaseRequest(bCid)
|
|||
|
|
{
|
|||
|
|
Expiry = TimeSpan.FromMinutes(5.0),
|
|||
|
|
Duration = TimeSpan.FromMinutes(100.0),
|
|||
|
|
CollateralPerByte = 100.Tst(),
|
|||
|
|
MinRequiredNumberOfNodes = 6,
|
|||
|
|
NodeFailureTolerance = 3,
|
|||
|
|
PricePerBytePerSecond = 100.Tst(),
|
|||
|
|
ProofProbability = 20
|
|||
|
|
});
|
|||
|
|
var eCid = request.ContentId;
|
|||
|
|
|
|||
|
|
Assert.That(bCid.Id, Is.Not.EqualTo(eCid.Id));
|
|||
|
|
|
|||
|
|
var basic = clients[0].DownloadManifestOnly(bCid);
|
|||
|
|
var encoded = clients[0].DownloadManifestOnly(eCid);
|
|||
|
|
Assert.That(basic.Manifest.Protected, Is.False);
|
|||
|
|
Assert.That(encoded.Manifest.Protected, Is.True);
|
|||
|
|
|
|||
|
|
var decoded = clients[1].DownloadContent(eCid);
|
|||
|
|
|
|||
|
|
file.AssertIsEqual(decoded);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|