You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuweni.apache.org by to...@apache.org on 2020/06/01 06:03:17 UTC
[incubator-tuweni] 01/02: move tests to integration tests
This is an automated email from the ASF dual-hosted git repository.
toulmean pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-tuweni.git
commit afee6d7ff598bc712cabb4176d6894a9cab2363c
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Sun May 31 15:02:40 2020 -0700
move tests to integration tests
---
.../tuweni/devp2p/eth/ConnectToAnotherNodeTest.kt} | 28 +++--
.../org/apache/tuweni/devp2p/eth/EthHandlerTest.kt | 122 ---------------------
2 files changed, 18 insertions(+), 132 deletions(-)
diff --git a/devp2p-eth/src/test/kotlin/org/apache/tuweni/devp2p/eth/EthHandlerTest.kt b/devp2p-eth/src/integrationTest/kotlin/org/apache/tuweni/devp2p/eth/ConnectToAnotherNodeTest.kt
similarity index 91%
copy from devp2p-eth/src/test/kotlin/org/apache/tuweni/devp2p/eth/EthHandlerTest.kt
copy to devp2p-eth/src/integrationTest/kotlin/org/apache/tuweni/devp2p/eth/ConnectToAnotherNodeTest.kt
index ac2b1b9..4233889 100644
--- a/devp2p-eth/src/test/kotlin/org/apache/tuweni/devp2p/eth/EthHandlerTest.kt
+++ b/devp2p-eth/src/integrationTest/kotlin/org/apache/tuweni/devp2p/eth/ConnectToAnotherNodeTest.kt
@@ -32,9 +32,7 @@ import org.apache.tuweni.junit.VertxInstance
import org.apache.tuweni.kv.MapKeyValueStore
import org.apache.tuweni.rlpx.vertx.VertxRLPxService
import org.apache.tuweni.units.bigints.UInt256
-import org.junit.jupiter.api.Assertions.assertFalse
-import org.junit.jupiter.api.Assertions.assertNotNull
-import org.junit.jupiter.api.Assertions.assertTrue
+import org.junit.jupiter.api.Assertions
import org.junit.jupiter.api.Disabled
import org.junit.jupiter.api.Test
import org.junit.jupiter.api.extension.ExtendWith
@@ -43,6 +41,10 @@ import java.net.InetSocketAddress
@ExtendWith(LuceneIndexWriterExtension::class, VertxExtension::class, BouncyCastleExtension::class)
class EthHandlerTest {
+ /**
+ * To run this test, run an Ethereum mainnet node at home and point this test to it.
+ *
+ */
@Disabled
@Test
fun testCollectHeaders(@LuceneIndexWriter writer: IndexWriter, @VertxInstance vertx: Vertx) = runBlocking {
@@ -61,7 +63,7 @@ class EthHandlerTest {
val service = VertxRLPxService(
vertx,
30304,
- "0.0.0.0",
+ "127.0.0.1",
30304,
SECP256K1.KeyPair.random(),
listOf(
@@ -79,20 +81,26 @@ class EthHandlerTest {
val id = service.connectTo(
SECP256K1.PublicKey.fromHexString(
"b1c9e33ebfd9446151688f0abaf171dac6df31ea5205a200f2cbaf5f8be" +
- "d241c9f93732f25109e16badea1aa657a6078240657688cbbddb91a50aa8c7c34a9cc"),
+ "d241c9f93732f25109e16badea1aa657a6078240657688cbbddb91a50aa8c7c34a9cc"
+ ),
InetSocketAddress("192.168.88.46", 30303)
).await()
- service.send(EthSubprotocol.ETH64, 3, id, GetBlockHeaders(genesisBlock.header.hash, 100, 0, false).toBytes())
+ service.send(
+ EthSubprotocol.ETH64,
+ MessageType.GetBlockHeaders.code,
+ id,
+ GetBlockHeaders(genesisBlock.header.hash, 100, 0, false).toBytes()
+ )
Thread.sleep(3000)
val header = repository.findBlockByHashOrNumber(UInt256.valueOf(99L).toBytes())
- assertFalse(header.isEmpty())
+ Assertions.assertFalse(header.isEmpty())
val header3 = repository.findBlockByHashOrNumber(UInt256.valueOf(101L).toBytes())
- assertTrue(header3.isEmpty())
+ Assertions.assertTrue(header3.isEmpty())
val header2 = repository.findBlockByHashOrNumber(UInt256.valueOf(100L).toBytes())
- assertTrue(header2.isEmpty())
+ Assertions.assertTrue(header2.isEmpty())
service.send(EthSubprotocol.ETH64, 3, id, GetBlockHeaders(header[0], 100, 0, false).toBytes())
Thread.sleep(3000)
}
@@ -163,6 +171,6 @@ class EthHandlerTest {
service2.start().await()
val value = service.connectTo(service2kp.publicKey(), InetSocketAddress("127.0.0.1", service2.actualPort()))
.await()
- assertNotNull(value)
+ Assertions.assertNotNull(value)
}
}
diff --git a/devp2p-eth/src/test/kotlin/org/apache/tuweni/devp2p/eth/EthHandlerTest.kt b/devp2p-eth/src/test/kotlin/org/apache/tuweni/devp2p/eth/EthHandlerTest.kt
index ac2b1b9..86b1ffb 100644
--- a/devp2p-eth/src/test/kotlin/org/apache/tuweni/devp2p/eth/EthHandlerTest.kt
+++ b/devp2p-eth/src/test/kotlin/org/apache/tuweni/devp2p/eth/EthHandlerTest.kt
@@ -43,126 +43,4 @@ import java.net.InetSocketAddress
@ExtendWith(LuceneIndexWriterExtension::class, VertxExtension::class, BouncyCastleExtension::class)
class EthHandlerTest {
- @Disabled
- @Test
- fun testCollectHeaders(@LuceneIndexWriter writer: IndexWriter, @VertxInstance vertx: Vertx) = runBlocking {
- val contents = EthHandlerTest::class.java.getResourceAsStream("/mainnet.json").readAllBytes()
- val genesisFile = GenesisFile.read(contents)
- val genesisBlock = genesisFile.toBlock()
-
- val repository = BlockchainRepository.init(
- MapKeyValueStore(),
- MapKeyValueStore(),
- MapKeyValueStore(),
- MapKeyValueStore(),
- BlockchainIndex(writer),
- genesisBlock
- )
- val service = VertxRLPxService(
- vertx,
- 30304,
- "0.0.0.0",
- 30304,
- SECP256K1.KeyPair.random(),
- listOf(
- EthSubprotocol(
- repository = repository,
- blockchainInfo = SimpleBlockchainInformation(
- UInt256.valueOf(genesisFile.chainId.toLong()), genesisBlock.header.difficulty,
- genesisBlock.header.hash, genesisBlock.header.hash, genesisFile.forks
- )
- )
- ),
- "Tuweni Experiment 0.1"
- )
- service.start().await()
- val id = service.connectTo(
- SECP256K1.PublicKey.fromHexString(
- "b1c9e33ebfd9446151688f0abaf171dac6df31ea5205a200f2cbaf5f8be" +
- "d241c9f93732f25109e16badea1aa657a6078240657688cbbddb91a50aa8c7c34a9cc"),
- InetSocketAddress("192.168.88.46", 30303)
- ).await()
-
- service.send(EthSubprotocol.ETH64, 3, id, GetBlockHeaders(genesisBlock.header.hash, 100, 0, false).toBytes())
-
- Thread.sleep(3000)
- val header = repository.findBlockByHashOrNumber(UInt256.valueOf(99L).toBytes())
- assertFalse(header.isEmpty())
-
- val header3 = repository.findBlockByHashOrNumber(UInt256.valueOf(101L).toBytes())
- assertTrue(header3.isEmpty())
- val header2 = repository.findBlockByHashOrNumber(UInt256.valueOf(100L).toBytes())
- assertTrue(header2.isEmpty())
- service.send(EthSubprotocol.ETH64, 3, id, GetBlockHeaders(header[0], 100, 0, false).toBytes())
- Thread.sleep(3000)
- }
-
- @Test
- fun twoServers(@LuceneIndexWriter writer: IndexWriter, @VertxInstance vertx: Vertx) = runBlocking {
- val contents = EthHandlerTest::class.java.getResourceAsStream("/mainnet.json").readAllBytes()
- val genesisBlock = GenesisFile.read(contents).toBlock()
-
- val repository = BlockchainRepository.init(
- MapKeyValueStore(),
- MapKeyValueStore(),
- MapKeyValueStore(),
- MapKeyValueStore(),
- BlockchainIndex(writer),
- genesisBlock
- )
- val service = VertxRLPxService(
- vertx,
- 30303,
- "127.0.0.1",
- 30303,
- SECP256K1.KeyPair.random(),
- listOf(
- EthSubprotocol(
- repository = repository,
- blockchainInfo = SimpleBlockchainInformation(
- UInt256.ZERO,
- genesisBlock.header.difficulty,
- genesisBlock.header.hash,
- genesisBlock.header.hash,
- emptyList()
- )
- )
- ),
- "Tuweni Experiment 0.1"
- )
- service.start().await()
- val repository2 = BlockchainRepository.init(
- MapKeyValueStore(),
- MapKeyValueStore(),
- MapKeyValueStore(),
- MapKeyValueStore(),
- BlockchainIndex(writer),
- genesisBlock
- )
- val service2kp = SECP256K1.KeyPair.random()
- val service2 = VertxRLPxService(
- vertx,
- 0,
- "127.0.0.1",
- 0,
- service2kp,
- listOf(
- EthSubprotocol(
- repository = repository2,
- blockchainInfo = SimpleBlockchainInformation(
- UInt256.ZERO,
- genesisBlock.header.difficulty,
- genesisBlock.header.hash,
- genesisBlock.header.hash,
- emptyList()
- )
- )
- ),
- "Tuweni Experiment 0.1"
- )
- service2.start().await()
- val value = service.connectTo(service2kp.publicKey(), InetSocketAddress("127.0.0.1", service2.actualPort()))
- .await()
- assertNotNull(value)
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org