48 lines
1.6 KiB
C#
Raw Normal View History

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);
}
}
}