using CodexContractsPlugin; using GethPlugin; using NUnit.Framework; namespace CodexTests.PeerDiscoveryTests { [TestFixture] public class PeerDiscoveryTests : AutoBootstrapDistTest { [Test] public void CanReportUnknownPeerId() { var unknownId = "16Uiu2HAkv2CHWpff3dj5iuVNERAp8AGKGNgpGjPexJZHSqUstfsK"; var node = AddCodex(); var result = node.GetDebugPeer(unknownId); Assert.That(result.IsPeerFound, Is.False); } [Test] public void MetricsDoesNotInterfereWithPeerDiscovery() { AddCodex(2, s => s.EnableMetrics()); AssertAllNodesConnected(); } [Test] public void MarketplaceDoesNotInterfereWithPeerDiscovery() { var geth = Ci.StartGethNode(s => s.IsMiner()); var contracts = Ci.StartCodexContracts(geth); AddCodex(2, s => s.EnableMarketplace(geth, contracts, 10.Eth(), 1000.TestTokens())); AssertAllNodesConnected(); } [TestCase(2)] [TestCase(3)] [TestCase(10)] [TestCase(20)] public void VariableNodes(int number) { AddCodex(number); AssertAllNodesConnected(); } private void AssertAllNodesConnected() { CreatePeerConnectionTestHelpers().AssertFullyConnected(GetAllOnlineCodexNodes()); } } }