Skip to content

Commit c4b6d01

Browse files
committed
Adds check for usage of availabilities.
1 parent c9fedac commit c4b6d01

File tree

4 files changed

+10
-43
lines changed

4 files changed

+10
-43
lines changed

ProjectPlugins/CodexPlugin/CodexContainerRecipe.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ namespace CodexPlugin
77
{
88
public class CodexContainerRecipe : ContainerRecipeFactory
99
{
10-
private const string DefaultDockerImage = "codexstorage/nim-codex:sha-656ce37-dist-tests";
10+
private const string DefaultDockerImage = "codexstorage/nim-codex:sha-cda52af-dist-tests";
1111
public const string ApiPortTag = "codex_api_port";
1212
public const string ListenPortTag = "codex_listen_port";
1313
public const string MetricsPortTag = "codex_metrics_port";

ProjectPlugins/CodexPlugin/Mapper.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@ public StorageAvailability[] Map(ICollection<SalesAvailability> availabilities)
7070

7171
public StorageAvailability Map(SalesAvailability availability)
7272
{
73+
var freeSize = (string)availability.AdditionalProperties["freeSize"];
74+
7375
return new StorageAvailability
7476
(
7577
ToByteSize(availability.TotalSize),
@@ -79,6 +81,7 @@ public StorageAvailability Map(SalesAvailability availability)
7981
)
8082
{
8183
Id = availability.Id,
84+
FreeSpace = ToByteSize(freeSize)
8285
};
8386
}
8487

ProjectPlugins/CodexPlugin/MarketplaceTypes.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ public StorageAvailability(ByteSize totalSpace, TimeSpan maxDuration, TestToken
8484
public TimeSpan MaxDuration { get; }
8585
public TestToken MinPriceForTotalSpace { get; }
8686
public TestToken MaxCollateral { get; }
87+
public ByteSize FreeSpace { get; set; } = ByteSize.Zero;
8788

8889
public void Log(ILog log)
8990
{

Tests/CodexTests/BasicTests/MarketplaceTests.cs

Lines changed: 5 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,11 @@ public void MarketplaceExample(
9797

9898
purchaseContract.WaitForStorageContractStarted();
9999

100-
var availabilities = hosts.Select(h => h.Marketplace.GetAvailabilities());
100+
var availabilities = hosts.Select(h => h.Marketplace.GetAvailabilities()).ToArray();
101+
if (availabilities.All(h => h.All(a => a.FreeSpace.SizeInBytes == a.TotalSpace.SizeInBytes)))
102+
{
103+
Assert.Fail("Host availabilities were not used.");
104+
}
101105

102106
var request = GetOnChainStorageRequest(contracts, geth);
103107
AssertStorageRequest(request, purchase, contracts, client);
@@ -109,47 +113,6 @@ public void MarketplaceExample(
109113
Assert.That(contracts.GetRequestState(request), Is.EqualTo(RequestState.Finished));
110114
}
111115

112-
[Test]
113-
[Ignore("Integrated into MarketplaceExample to speed up testing.")]
114-
public void CanDownloadContentFromContractCid()
115-
{
116-
var fileSize = 10.MB();
117-
var geth = Ci.StartGethNode(s => s.IsMiner().WithName("disttest-geth"));
118-
var contracts = Ci.StartCodexContracts(geth);
119-
var testFile = CreateFile(fileSize);
120-
121-
var client = StartCodex(s => s
122-
.WithName("Client")
123-
.EnableMarketplace(geth, contracts, m => m
124-
.WithInitial(10.Eth(), 10.Tst())));
125-
126-
var uploadCid = client.UploadFile(testFile);
127-
128-
var purchase = new StoragePurchaseRequest(uploadCid)
129-
{
130-
PricePerSlotPerSecond = 2.TstWei(),
131-
RequiredCollateral = 10.TstWei(),
132-
MinRequiredNumberOfNodes = 5,
133-
NodeFailureTolerance = 2,
134-
ProofProbability = 5,
135-
Duration = TimeSpan.FromMinutes(5),
136-
Expiry = TimeSpan.FromMinutes(4)
137-
};
138-
139-
var purchaseContract = client.Marketplace.RequestStorage(purchase);
140-
var contractCid = purchaseContract.ContentId;
141-
Assert.That(uploadCid.Id, Is.Not.EqualTo(contractCid.Id));
142-
143-
// Download both from client.
144-
testFile.AssertIsEqual(client.DownloadContent(uploadCid));
145-
testFile.AssertIsEqual(client.DownloadContent(contractCid));
146-
147-
// Download both from another node.
148-
var downloader = StartCodex(s => s.WithName("Downloader"));
149-
testFile.AssertIsEqual(downloader.DownloadContent(uploadCid));
150-
testFile.AssertIsEqual(downloader.DownloadContent(contractCid));
151-
}
152-
153116
private TrackedFile CreateFile(ByteSize fileSize)
154117
{
155118
var segmentSize = new ByteSize(fileSize.SizeInBytes / 4);

0 commit comments

Comments
 (0)