Very interesting marketplace test
This commit is contained in:
parent
e0cc46260b
commit
637b5a4736
@ -34,12 +34,12 @@
|
|||||||
{
|
{
|
||||||
public TimeSpan HttpCallTimeout()
|
public TimeSpan HttpCallTimeout()
|
||||||
{
|
{
|
||||||
return TimeSpan.FromMinutes(3);
|
return TimeSpan.FromMinutes(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TimeSpan HttpRetryTimeout()
|
public TimeSpan HttpRetryTimeout()
|
||||||
{
|
{
|
||||||
return TimeSpan.FromMinutes(10);
|
return TimeSpan.FromMinutes(5);
|
||||||
}
|
}
|
||||||
|
|
||||||
public TimeSpan HttpCallRetryDelay()
|
public TimeSpan HttpCallRetryDelay()
|
||||||
|
@ -12,11 +12,18 @@ namespace CodexTests.BasicTests
|
|||||||
public class MarketplaceTests : AutoBootstrapDistTest
|
public class MarketplaceTests : AutoBootstrapDistTest
|
||||||
{
|
{
|
||||||
[Test]
|
[Test]
|
||||||
public void MarketplaceExample()
|
[Combinatorial]
|
||||||
|
public void MarketplaceExample(
|
||||||
|
[Values(4, 8, 16 /* 1mb */, 32)] int numBlocks,
|
||||||
|
[Values(-3, -2, -1, 0, 1, 2, 3)] int plusSizeKb
|
||||||
|
)
|
||||||
{
|
{
|
||||||
var hostInitialBalance = 234.TstWei();
|
var hostInitialBalance = 234.TstWei();
|
||||||
var clientInitialBalance = 100000.TstWei();
|
var clientInitialBalance = 100000.TstWei();
|
||||||
var fileSize = 10.MB();
|
var fileSize = new ByteSize(
|
||||||
|
numBlocks * (64 * 1024) +
|
||||||
|
plusSizeKb * 1024
|
||||||
|
);
|
||||||
|
|
||||||
var geth = Ci.StartGethNode(s => s.IsMiner().WithName("disttest-geth"));
|
var geth = Ci.StartGethNode(s => s.IsMiner().WithName("disttest-geth"));
|
||||||
var contracts = Ci.StartCodexContracts(geth);
|
var contracts = Ci.StartCodexContracts(geth);
|
||||||
@ -56,9 +63,9 @@ namespace CodexTests.BasicTests
|
|||||||
|
|
||||||
AssertBalance(contracts, client, Is.EqualTo(clientInitialBalance));
|
AssertBalance(contracts, client, Is.EqualTo(clientInitialBalance));
|
||||||
|
|
||||||
var contentId = client.UploadFile(testFile);
|
var uploadCid = client.UploadFile(testFile);
|
||||||
|
|
||||||
var purchase = new StoragePurchaseRequest(contentId)
|
var purchase = new StoragePurchaseRequest(uploadCid)
|
||||||
{
|
{
|
||||||
PricePerSlotPerSecond = 2.TstWei(),
|
PricePerSlotPerSecond = 2.TstWei(),
|
||||||
RequiredCollateral = 10.TstWei(),
|
RequiredCollateral = 10.TstWei(),
|
||||||
@ -70,6 +77,18 @@ namespace CodexTests.BasicTests
|
|||||||
};
|
};
|
||||||
|
|
||||||
var purchaseContract = client.Marketplace.RequestStorage(purchase);
|
var purchaseContract = client.Marketplace.RequestStorage(purchase);
|
||||||
|
|
||||||
|
var contractCid = purchaseContract.ContentId;
|
||||||
|
Assert.That(uploadCid.Id, Is.Not.EqualTo(contractCid.Id));
|
||||||
|
|
||||||
|
// Download both from client.
|
||||||
|
testFile.AssertIsEqual(client.DownloadContent(uploadCid));
|
||||||
|
testFile.AssertIsEqual(client.DownloadContent(contractCid));
|
||||||
|
|
||||||
|
// Download both from another node.
|
||||||
|
var downloader = StartCodex(s => s.WithName("Downloader"));
|
||||||
|
testFile.AssertIsEqual(downloader.DownloadContent(uploadCid));
|
||||||
|
testFile.AssertIsEqual(downloader.DownloadContent(contractCid));
|
||||||
|
|
||||||
WaitForAllSlotFilledEvents(contracts, purchase, geth);
|
WaitForAllSlotFilledEvents(contracts, purchase, geth);
|
||||||
|
|
||||||
@ -86,6 +105,7 @@ namespace CodexTests.BasicTests
|
|||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
|
[Ignore("Integrated into MarketplaceExample to speed up testing.")]
|
||||||
public void CanDownloadContentFromContractCid()
|
public void CanDownloadContentFromContractCid()
|
||||||
{
|
{
|
||||||
var fileSize = 10.MB();
|
var fileSize = 10.MB();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user