From a8c094e735f8799263a7e2d31d26ee8e5d1e1bf9 Mon Sep 17 00:00:00 2001 From: ThatBen Date: Fri, 30 May 2025 08:59:43 +0200 Subject: [PATCH] Cleanup and rename --- Tests/CodexReleaseTests/DataTests/DecodeTest.cs | 2 +- .../MarketTests/{ContractFailedTest.cs => FailTest.cs} | 6 +++--- .../{ContractSuccessfulTest.cs => FinishTest.cs} | 8 +++++--- Tests/CodexReleaseTests/MarketTests/RepairTest.cs | 4 +++- ...MultipleContractsTest.cs => SequentialContracts.cs} | 9 +++++---- .../{ContractsStartTest.cs => StartTest.cs} | 10 ++++------ .../{MarketTests => Utils}/ChainMonitor.cs | 2 +- .../MarketplaceAutoBootstrapDistTest.cs | 8 ++++---- 8 files changed, 26 insertions(+), 23 deletions(-) rename Tests/CodexReleaseTests/MarketTests/{ContractFailedTest.cs => FailTest.cs} (93%) rename Tests/CodexReleaseTests/MarketTests/{ContractSuccessfulTest.cs => FinishTest.cs} (92%) rename Tests/CodexReleaseTests/MarketTests/{MultipleContractsTest.cs => SequentialContracts.cs} (93%) rename Tests/CodexReleaseTests/MarketTests/{ContractsStartTest.cs => StartTest.cs} (88%) rename Tests/CodexReleaseTests/{MarketTests => Utils}/ChainMonitor.cs (98%) rename Tests/CodexReleaseTests/{MarketTests => Utils}/MarketplaceAutoBootstrapDistTest.cs (98%) diff --git a/Tests/CodexReleaseTests/DataTests/DecodeTest.cs b/Tests/CodexReleaseTests/DataTests/DecodeTest.cs index f6a1f309..1aaf742f 100644 --- a/Tests/CodexReleaseTests/DataTests/DecodeTest.cs +++ b/Tests/CodexReleaseTests/DataTests/DecodeTest.cs @@ -1,5 +1,5 @@ using System.Security.Cryptography; -using CodexReleaseTests.MarketTests; +using CodexReleaseTests.Utils; using Nethereum.JsonRpc.Client; using NUnit.Framework; using Utils; diff --git a/Tests/CodexReleaseTests/MarketTests/ContractFailedTest.cs b/Tests/CodexReleaseTests/MarketTests/FailTest.cs similarity index 93% rename from Tests/CodexReleaseTests/MarketTests/ContractFailedTest.cs rename to Tests/CodexReleaseTests/MarketTests/FailTest.cs index d340ba26..a8b39464 100644 --- a/Tests/CodexReleaseTests/MarketTests/ContractFailedTest.cs +++ b/Tests/CodexReleaseTests/MarketTests/FailTest.cs @@ -1,10 +1,11 @@ using CodexClient; +using CodexReleaseTests.Utils; using NUnit.Framework; using Utils; namespace CodexReleaseTests.MarketTests { - public class ContractFailedTest : MarketplaceAutoBootstrapDistTest + public class FailTest : MarketplaceAutoBootstrapDistTest { protected override int NumberOfHosts => 4; protected override int NumberOfClients => 1; @@ -13,8 +14,7 @@ namespace CodexReleaseTests.MarketTests private readonly TestToken pricePerBytePerSecond = 10.TstWei(); [Test] - [Ignore("Disabled for now: Test is unstable.")] - public void ContractFailed() + public void Fail() { var hosts = StartHosts(); var client = StartClients().Single(); diff --git a/Tests/CodexReleaseTests/MarketTests/ContractSuccessfulTest.cs b/Tests/CodexReleaseTests/MarketTests/FinishTest.cs similarity index 92% rename from Tests/CodexReleaseTests/MarketTests/ContractSuccessfulTest.cs rename to Tests/CodexReleaseTests/MarketTests/FinishTest.cs index 9a816a9f..993fb526 100644 --- a/Tests/CodexReleaseTests/MarketTests/ContractSuccessfulTest.cs +++ b/Tests/CodexReleaseTests/MarketTests/FinishTest.cs @@ -1,4 +1,5 @@ using CodexClient; +using CodexReleaseTests.Utils; using NUnit.Framework; using Utils; @@ -6,9 +7,9 @@ namespace CodexReleaseTests.MarketTests { [TestFixture(5, 3, 1)] [TestFixture(10, 20, 10)] - public class ContractSuccessfulTest : MarketplaceAutoBootstrapDistTest + public class FinishTest : MarketplaceAutoBootstrapDistTest { - public ContractSuccessfulTest(int hosts, int slots, int tolerance) + public FinishTest(int hosts, int slots, int tolerance) { this.hosts = hosts; this.slots = slots; @@ -27,7 +28,8 @@ namespace CodexReleaseTests.MarketTests protected override TimeSpan HostAvailabilityMaxDuration => Get8TimesConfiguredPeriodDuration() * 12; [Test] - public void ContractSuccessful() + [Repeat(16)] + public void Finish() { var hosts = StartHosts(); var client = StartClients().Single(); diff --git a/Tests/CodexReleaseTests/MarketTests/RepairTest.cs b/Tests/CodexReleaseTests/MarketTests/RepairTest.cs index 7d9bdfed..2877108d 100644 --- a/Tests/CodexReleaseTests/MarketTests/RepairTest.cs +++ b/Tests/CodexReleaseTests/MarketTests/RepairTest.cs @@ -1,4 +1,5 @@ using CodexClient; +using CodexReleaseTests.Utils; using Nethereum.Hex.HexConvertors.Extensions; using NUnit.Framework; using Utils; @@ -49,6 +50,7 @@ namespace CodexReleaseTests.MarketTests { var hosts = StartHosts().ToList(); var client = StartClients().Single(); + StartValidator(); var contract = CreateStorageRequest(client); contract.WaitForStorageContractStarted(); @@ -178,7 +180,7 @@ namespace CodexReleaseTests.MarketTests MinRequiredNumberOfNodes = Slots, NodeFailureTolerance = Tolerance, PricePerBytePerSecond = 10.TstWei(), - ProofProbability = 20, + ProofProbability = 1, // One proof every period. Free slot as quickly as possible. CollateralPerByte = 1.TstWei() }); } diff --git a/Tests/CodexReleaseTests/MarketTests/MultipleContractsTest.cs b/Tests/CodexReleaseTests/MarketTests/SequentialContracts.cs similarity index 93% rename from Tests/CodexReleaseTests/MarketTests/MultipleContractsTest.cs rename to Tests/CodexReleaseTests/MarketTests/SequentialContracts.cs index b37a9af2..b10e34ca 100644 --- a/Tests/CodexReleaseTests/MarketTests/MultipleContractsTest.cs +++ b/Tests/CodexReleaseTests/MarketTests/SequentialContracts.cs @@ -1,14 +1,15 @@ using CodexClient; using CodexPlugin; +using CodexReleaseTests.Utils; using NUnit.Framework; using Utils; namespace CodexReleaseTests.MarketTests { [TestFixture(12, 48, 12)] - public class MultipleContractsTest : MarketplaceAutoBootstrapDistTest + public class SequentialContracts : MarketplaceAutoBootstrapDistTest { - public MultipleContractsTest(int hosts, int slots, int tolerance) + public SequentialContracts(int hosts, int slots, int tolerance) { this.hosts = hosts; this.slots = slots; @@ -28,7 +29,7 @@ namespace CodexReleaseTests.MarketTests [Test] [Combinatorial] - public void MultipleContractGenerations( + public void Sequential( [Values(10)] int numGenerations) { var hosts = StartHosts(); @@ -88,7 +89,7 @@ namespace CodexReleaseTests.MarketTests MinRequiredNumberOfNodes = (uint)slots, NodeFailureTolerance = (uint)tolerance, PricePerBytePerSecond = pricePerBytePerSecond, - ProofProbability = 1000, + ProofProbability = 10000, CollateralPerByte = 1.TstWei() }); } diff --git a/Tests/CodexReleaseTests/MarketTests/ContractsStartTest.cs b/Tests/CodexReleaseTests/MarketTests/StartTest.cs similarity index 88% rename from Tests/CodexReleaseTests/MarketTests/ContractsStartTest.cs rename to Tests/CodexReleaseTests/MarketTests/StartTest.cs index 9099e59d..70d90552 100644 --- a/Tests/CodexReleaseTests/MarketTests/ContractsStartTest.cs +++ b/Tests/CodexReleaseTests/MarketTests/StartTest.cs @@ -1,11 +1,12 @@ using CodexClient; +using CodexReleaseTests.Utils; using NUnit.Framework; using Utils; namespace CodexReleaseTests.MarketTests { [TestFixture] - public class ContractsStartTest : MarketplaceAutoBootstrapDistTest + public class StartTest : MarketplaceAutoBootstrapDistTest { private const int FilesizeMb = 10; private readonly TestToken pricePerBytePerSecond = 10.TstWei(); @@ -16,11 +17,8 @@ namespace CodexReleaseTests.MarketTests protected override TimeSpan HostAvailabilityMaxDuration => Get8TimesConfiguredPeriodDuration() * 12; [Test] - [Combinatorial] - public void ContractStarts( - [Values(1, 2, 3)] int rerunA, - [Values(1, 2, 3)] int rerunB, - [Values(1, 2, 3)] int rerunC) + [Repeat(16)] + public void Start() { var hosts = StartHosts(); var client = StartClients().Single(); diff --git a/Tests/CodexReleaseTests/MarketTests/ChainMonitor.cs b/Tests/CodexReleaseTests/Utils/ChainMonitor.cs similarity index 98% rename from Tests/CodexReleaseTests/MarketTests/ChainMonitor.cs rename to Tests/CodexReleaseTests/Utils/ChainMonitor.cs index f9e6b9d6..d6a4a4d8 100644 --- a/Tests/CodexReleaseTests/MarketTests/ChainMonitor.cs +++ b/Tests/CodexReleaseTests/Utils/ChainMonitor.cs @@ -2,7 +2,7 @@ using CodexContractsPlugin.ChainMonitor; using Logging; -namespace CodexReleaseTests.MarketTests +namespace CodexReleaseTests.Utils { public class ChainMonitor { diff --git a/Tests/CodexReleaseTests/MarketTests/MarketplaceAutoBootstrapDistTest.cs b/Tests/CodexReleaseTests/Utils/MarketplaceAutoBootstrapDistTest.cs similarity index 98% rename from Tests/CodexReleaseTests/MarketTests/MarketplaceAutoBootstrapDistTest.cs rename to Tests/CodexReleaseTests/Utils/MarketplaceAutoBootstrapDistTest.cs index 74a1b6d5..72442098 100644 --- a/Tests/CodexReleaseTests/MarketTests/MarketplaceAutoBootstrapDistTest.cs +++ b/Tests/CodexReleaseTests/Utils/MarketplaceAutoBootstrapDistTest.cs @@ -9,7 +9,7 @@ using Nethereum.Hex.HexConvertors.Extensions; using NUnit.Framework; using Utils; -namespace CodexReleaseTests.MarketTests +namespace CodexReleaseTests.Utils { public abstract class MarketplaceAutoBootstrapDistTest : AutoBootstrapDistTest { @@ -45,7 +45,7 @@ namespace CodexReleaseTests.MarketTests protected TimeSpan GetPeriodDuration() { var config = GetContracts().Deployment.Config; - return TimeSpan.FromSeconds(((double)config.Proofs.Period)); + return TimeSpan.FromSeconds(config.Proofs.Period); } protected abstract int NumberOfHosts { get; } @@ -320,7 +320,7 @@ namespace CodexReleaseTests.MarketTests private DateTime GetContractOnChainSubmittedUtc(IStoragePurchaseContract contract) { - return Time.Retry(() => + return Time.Retry(() => { var events = GetContracts().GetEvents(GetTestRunTimeRange()); var submitEvent = events.GetStorageRequests().SingleOrDefault(e => e.RequestId.ToHex(false) == contract.PurchaseId); @@ -395,7 +395,7 @@ namespace CodexReleaseTests.MarketTests // failed a sufficient number of proofs. float n = requiredNumMissedProofs; - return gracePeriod + (periodDuration * n * GetDowntimeFactor(config)); + return gracePeriod + periodDuration * n * GetDowntimeFactor(config); } private float GetDowntimeFactor(MarketplaceConfig config)