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/04/28 06:37:40 UTC
[incubator-tuweni] branch master updated: generalize integration
tests, move more code 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
The following commit(s) were added to refs/heads/master by this push:
new 55de59e generalize integration tests, move more code to integration tests
55de59e is described below
commit 55de59e116b3ae4ea569147f3a9fc2a2152c492e
Author: Antoine Toulme <an...@lunar-ocean.com>
AuthorDate: Mon Apr 27 23:37:25 2020 -0700
generalize integration tests, move more code to integration tests
---
.github/workflows/master-pr-build.yml | 14 ++++++++++++++
build.gradle | 20 ++++++++++++++++++++
.../apache/tuweni/ethstats/EthStatsReporterTest.java | 0
gossip/build.gradle | 19 -------------------
hobbits-relayer/build.gradle | 20 --------------------
hobbits/build.gradle | 2 +-
.../org/apache/tuweni/hobbits/InteractionTest.kt | 0
.../kotlin/org/apache/tuweni/hobbits/RelayerTest.kt | 0
.../java}/VertxGossipServerTest.java | 15 +++++++--------
.../tuweni/rlpx/vertx/VertxAcceptanceTest.java | 20 ++++++++++----------
.../tuweni/rlpx/vertx/VertxRLPxServiceTest.java | 14 +++++++-------
.../ScuttlebuttLocalDiscoveryServiceTest.java | 8 ++++----
.../handshake/vertx/VertxIntegrationTest.java | 8 ++++----
.../scuttlebutt/rpc/PatchworkIntegrationTest.java | 6 +++---
.../rpc/mux/PatchworkIntegrationTest.java | 2 +-
15 files changed, 71 insertions(+), 77 deletions(-)
diff --git a/.github/workflows/master-pr-build.yml b/.github/workflows/master-pr-build.yml
index b14943a..fa8f16b 100644
--- a/.github/workflows/master-pr-build.yml
+++ b/.github/workflows/master-pr-build.yml
@@ -42,6 +42,12 @@ jobs:
with:
gradle-version: 5.6.2
arguments: setup
+ - name: Cache Gradle packages
+ uses: actions/cache@v1
+ with:
+ path: ~/.gradle/caches
+ key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
+ restore-keys: ${{ runner.os }}-gradle
- name: Cache Maven Repository
uses: actions/cache@v1
with:
@@ -52,7 +58,15 @@ jobs:
run: ./gradlew spotlessCheck checkLicenses
- name: gradle assemble
run: ./gradlew assemble -x test
+ - uses: actions/upload-artifact@v1
+ with:
+ name: Libs
+ path: build/libs
- name: gradle test
run: ./gradlew test
+ - uses: actions/upload-artifact@v1
+ with:
+ name: Reports
+ path: build/reports
- name: Collect JUnit tests
uses: danger/danger-js@9.1.8
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index ad83120..3e180d4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -164,6 +164,26 @@ subprojects {
}
}
+ sourceSets {
+ integrationTest {
+ java.srcDir 'src/integrationTest/java'
+ kotlin.srcDir 'src/integrationTest/kotlin'
+ resources.srcDir 'src/integrationTest/resources'
+ compileClasspath += main.output
+ runtimeClasspath += main.output
+ }
+ }
+
+ configurations {
+ integrationTestImplementation.extendsFrom testImplementation
+ integrationTestRuntime.extendsFrom testRuntime
+ }
+
+ task integrationTest(type: Test) {
+ testClassesDirs = sourceSets.integrationTest.output.classesDirs
+ classpath = sourceSets.integrationTest.runtimeClasspath
+ }
+
//////
// Parallel build execution
diff --git a/ethstats/src/test/java/org/apache/tuweni/ethstats/EthStatsReporterTest.java b/ethstats/src/integration-test/java/org/apache/tuweni/ethstats/EthStatsReporterTest.java
similarity index 100%
rename from ethstats/src/test/java/org/apache/tuweni/ethstats/EthStatsReporterTest.java
rename to ethstats/src/integration-test/java/org/apache/tuweni/ethstats/EthStatsReporterTest.java
diff --git a/gossip/build.gradle b/gossip/build.gradle
index e855029..d148ade 100644
--- a/gossip/build.gradle
+++ b/gossip/build.gradle
@@ -36,22 +36,3 @@ dependencies {
application { mainClassName = 'org.apache.tuweni.gossip.GossipApp' }
applicationDefaultJvmArgs = ["-Xms512m", "-Xmx1g"]
-sourceSets {
- integrationTest {
- java.srcDir 'src/integrationTest/java'
- kotlin.srcDir 'src/integrationTest/kotlin'
- resources.srcDir 'src/integrationTest/resources'
- compileClasspath += main.output
- runtimeClasspath += main.output
- }
-}
-
-configurations {
- integrationTestImplementation.extendsFrom testImplementation
- integrationTestRuntime.extendsFrom testRuntime
-}
-
-task integrationTest(type: Test) {
- testClassesDirs = sourceSets.integrationTest.output.classesDirs
- classpath = sourceSets.integrationTest.runtimeClasspath
-}
diff --git a/hobbits-relayer/build.gradle b/hobbits-relayer/build.gradle
index 8c48af9..d07a64b 100644
--- a/hobbits-relayer/build.gradle
+++ b/hobbits-relayer/build.gradle
@@ -33,23 +33,3 @@ dependencies {
application { mainClassName = 'org.apache.tuweni.relayer.RelayerApp' }
applicationDefaultJvmArgs = ["-Xms512m", "-Xmx1g"]
-
-sourceSets {
- integrationTest {
- java.srcDir 'src/integrationTest/java'
- kotlin.srcDir 'src/integrationTest/kotlin'
- resources.srcDir 'src/integrationTest/resources'
- compileClasspath += main.output
- runtimeClasspath += main.output
- }
-}
-
-configurations {
- integrationTestImplementation.extendsFrom testImplementation
- integrationTestRuntime.extendsFrom testRuntime
-}
-
-task integrationTest(type: Test) {
- testClassesDirs = sourceSets.integrationTest.output.classesDirs
- classpath = sourceSets.integrationTest.runtimeClasspath
-}
diff --git a/hobbits/build.gradle b/hobbits/build.gradle
index 1a8eb2e..58c71d2 100644
--- a/hobbits/build.gradle
+++ b/hobbits/build.gradle
@@ -24,4 +24,4 @@ dependencies {
testCompile 'org.junit.jupiter:junit-jupiter-params'
testRuntime 'org.junit.jupiter:junit-jupiter-engine'
-}
+}
\ No newline at end of file
diff --git a/hobbits/src/test/kotlin/org/apache/tuweni/hobbits/InteractionTest.kt b/hobbits/src/integration-test/kotlin/org/apache/tuweni/hobbits/InteractionTest.kt
similarity index 100%
rename from hobbits/src/test/kotlin/org/apache/tuweni/hobbits/InteractionTest.kt
rename to hobbits/src/integration-test/kotlin/org/apache/tuweni/hobbits/InteractionTest.kt
diff --git a/hobbits/src/test/kotlin/org/apache/tuweni/hobbits/RelayerTest.kt b/hobbits/src/integration-test/kotlin/org/apache/tuweni/hobbits/RelayerTest.kt
similarity index 100%
rename from hobbits/src/test/kotlin/org/apache/tuweni/hobbits/RelayerTest.kt
rename to hobbits/src/integration-test/kotlin/org/apache/tuweni/hobbits/RelayerTest.kt
diff --git a/plumtree/src/test/java/org/apache/tuweni/plumtree/vertx/VertxGossipServerTest.java b/plumtree/src/integration-test/java/VertxGossipServerTest.java
similarity index 91%
rename from plumtree/src/test/java/org/apache/tuweni/plumtree/vertx/VertxGossipServerTest.java
rename to plumtree/src/integration-test/java/VertxGossipServerTest.java
index fe29581..38b5bd5 100644
--- a/plumtree/src/test/java/org/apache/tuweni/plumtree/vertx/VertxGossipServerTest.java
+++ b/plumtree/src/integration-test/java/VertxGossipServerTest.java
@@ -10,7 +10,6 @@
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/
-package org.apache.tuweni.plumtree.vertx;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNull;
@@ -80,7 +79,7 @@ class VertxGossipServerTest {
break;
}
}
- assertEquals(Bytes.fromHexString("deadbeef"), messageReceived2.message);
+ Assertions.assertEquals(Bytes.fromHexString("deadbeef"), messageReceived2.message);
server1.stop().join();
server2.stop().join();
@@ -142,9 +141,9 @@ class VertxGossipServerTest {
break;
}
}
- assertEquals(Bytes.fromHexString("deadbeef"), messageReceived2.message);
- assertEquals(Bytes.fromHexString("deadbeef"), messageReceived3.message);
- assertNull(messageReceived1.message);
+ Assertions.assertEquals(Bytes.fromHexString("deadbeef"), messageReceived2.message);
+ Assertions.assertEquals(Bytes.fromHexString("deadbeef"), messageReceived3.message);
+ Assertions.assertNull(messageReceived1.message);
server1.stop().join();
server2.stop().join();
@@ -200,14 +199,14 @@ class VertxGossipServerTest {
server1.connectTo("127.0.0.1", 10001).join();
server2.connectTo("127.0.0.1", 10002).join();
server1.connectTo("127.0.0.1", 10002).join();
- assertEquals(2, peerRepository1.eagerPushPeers().size());
+ Assertions.assertEquals(2, peerRepository1.eagerPushPeers().size());
String attributes = "{\"message_type\": \"BLOCK\"}";
server1.gossip(attributes, Bytes.fromHexString("deadbeef"));
Thread.sleep(1000);
- assertEquals(Bytes.fromHexString("deadbeef"), messageReceived2.message);
+ Assertions.assertEquals(Bytes.fromHexString("deadbeef"), messageReceived2.message);
Thread.sleep(1000);
- assertTrue(peerRepository1.lazyPushPeers().size() > 0 || peerRepository3.lazyPushPeers().size() > 0);
+ Assertions.assertTrue(peerRepository1.lazyPushPeers().size() > 0 || peerRepository3.lazyPushPeers().size() > 0);
server1.stop().join();
server2.stop().join();
diff --git a/rlpx/src/test/java/org/apache/tuweni/rlpx/vertx/VertxAcceptanceTest.java b/rlpx/src/integration-test/java/org/apache/tuweni/rlpx/vertx/VertxAcceptanceTest.java
similarity index 93%
rename from rlpx/src/test/java/org/apache/tuweni/rlpx/vertx/VertxAcceptanceTest.java
rename to rlpx/src/integration-test/java/org/apache/tuweni/rlpx/vertx/VertxAcceptanceTest.java
index bd064fe..e1a4f3f 100644
--- a/rlpx/src/test/java/org/apache/tuweni/rlpx/vertx/VertxAcceptanceTest.java
+++ b/rlpx/src/integration-test/java/org/apache/tuweni/rlpx/vertx/VertxAcceptanceTest.java
@@ -135,15 +135,15 @@ class VertxAcceptanceTest {
service.connectTo(secondKp.publicKey(), new InetSocketAddress("localhost", secondService.actualPort()));
Thread.sleep(3000);
- assertEquals(1, repository.asMap().size());
- assertEquals(1, secondRepository.asMap().size());
+ Assertions.assertEquals(1, repository.asMap().size());
+ Assertions.assertEquals(1, secondRepository.asMap().size());
- assertEquals(1, sp.handler.messages.size());
- assertEquals(1, secondSp.handler.messages.size());
+ Assertions.assertEquals(1, sp.handler.messages.size());
+ Assertions.assertEquals(1, secondSp.handler.messages.size());
AsyncCompletion completion = ((DefaultWireConnection) repository.asMap().values().iterator().next()).sendPing();
completion.join();
- assertTrue(completion.isDone());
+ Assertions.assertTrue(completion.isDone());
} finally {
AsyncCompletion.allOf(service.stop(), secondService.stop());
}
@@ -177,11 +177,11 @@ class VertxAcceptanceTest {
service.connectTo(secondKp.publicKey(), new InetSocketAddress("localhost", secondService.actualPort()));
Thread.sleep(3000);
- assertEquals(1, repository.asMap().size());
- assertEquals(1, secondRepository.asMap().size());
+ Assertions.assertEquals(1, repository.asMap().size());
+ Assertions.assertEquals(1, secondRepository.asMap().size());
- assertEquals(1, sp.handler.messages.size());
- assertEquals(1, secondSp.handler.messages.size());
+ Assertions.assertEquals(1, sp.handler.messages.size());
+ Assertions.assertEquals(1, secondSp.handler.messages.size());
List<AsyncCompletion> completionList = new ArrayList<>();
ExecutorService threadPool = Executors.newFixedThreadPool(16);
@@ -202,7 +202,7 @@ class VertxAcceptanceTest {
AsyncCompletion allTasks = AsyncCompletion.allOf(completionList);
allTasks.join(30, TimeUnit.SECONDS);
- assertTrue(allTasks.isDone());
+ Assertions.assertTrue(allTasks.isDone());
} finally {
AsyncCompletion.allOf(service.stop(), secondService.stop());
diff --git a/rlpx/src/test/java/org/apache/tuweni/rlpx/vertx/VertxRLPxServiceTest.java b/rlpx/src/integration-test/java/org/apache/tuweni/rlpx/vertx/VertxRLPxServiceTest.java
similarity index 94%
rename from rlpx/src/test/java/org/apache/tuweni/rlpx/vertx/VertxRLPxServiceTest.java
rename to rlpx/src/integration-test/java/org/apache/tuweni/rlpx/vertx/VertxRLPxServiceTest.java
index 47f3213..462627c 100644
--- a/rlpx/src/test/java/org/apache/tuweni/rlpx/vertx/VertxRLPxServiceTest.java
+++ b/rlpx/src/integration-test/java/org/apache/tuweni/rlpx/vertx/VertxRLPxServiceTest.java
@@ -35,28 +35,28 @@ class VertxRLPxServiceTest {
@Test
void invalidPort(@VertxInstance Vertx vertx) {
- assertThrows(
+ Assertions.assertThrows(
IllegalArgumentException.class,
() -> new VertxRLPxService(vertx, -1, "localhost", 30, SECP256K1.KeyPair.random(), new ArrayList<>(), "a"));
}
@Test
void invalidAdvertisedPort(@VertxInstance Vertx vertx) {
- assertThrows(
+ Assertions.assertThrows(
IllegalArgumentException.class,
() -> new VertxRLPxService(vertx, 3, "localhost", -1, SECP256K1.KeyPair.random(), new ArrayList<>(), "a"));
}
@Test
void invalidClientId(@VertxInstance Vertx vertx) {
- assertThrows(
+ Assertions.assertThrows(
IllegalArgumentException.class,
() -> new VertxRLPxService(vertx, 34, "localhost", 23, SECP256K1.KeyPair.random(), new ArrayList<>(), null));
}
@Test
void invalidClientIdSpaces(@VertxInstance Vertx vertx) {
- assertThrows(
+ Assertions.assertThrows(
IllegalArgumentException.class,
() -> new VertxRLPxService(vertx, 34, "localhost", 23, SECP256K1.KeyPair.random(), new ArrayList<>(), " "));
}
@@ -81,7 +81,7 @@ class VertxRLPxServiceTest {
service.start().join();
try {
- assertTrue(service.actualPort() != 0);
+ Assertions.assertTrue(service.actualPort() != 0);
assertEquals(service.actualPort(), service.advertisedPort());
} finally {
service.stop();
@@ -93,7 +93,7 @@ class VertxRLPxServiceTest {
VertxRLPxService service =
new VertxRLPxService(vertx, 0, "localhost", 10000, SECP256K1.KeyPair.random(), new ArrayList<>(), "abc");
AsyncCompletion completion = service.stop();
- assertTrue(completion.isDone());
+ Assertions.assertTrue(completion.isDone());
}
@Test
@@ -133,7 +133,7 @@ class VertxRLPxServiceTest {
try {
service.connectTo(peerPair.publicKey(), new InetSocketAddress("localhost", peerService.actualPort()));
Thread.sleep(3000);
- assertEquals(1, repository.asMap().size());
+ Assertions.assertEquals(1, repository.asMap().size());
} finally {
service.stop();
diff --git a/scuttlebutt-discovery/src/test/java/org/apache/tuweni/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java b/scuttlebutt-discovery/src/integration-test/java/org/apache/tuweni/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
similarity index 94%
rename from scuttlebutt-discovery/src/test/java/org/apache/tuweni/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
rename to scuttlebutt-discovery/src/integration-test/java/org/apache/tuweni/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
index 6b8c1ed..b5e0d6a 100644
--- a/scuttlebutt-discovery/src/test/java/org/apache/tuweni/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
+++ b/scuttlebutt-discovery/src/integration-test/java/org/apache/tuweni/scuttlebutt/discovery/ScuttlebuttLocalDiscoveryServiceTest.java
@@ -35,7 +35,7 @@ class ScuttlebuttLocalDiscoveryServiceTest {
@BeforeAll
static void checkAvailable() {
- assumeTrue(Sodium.isAvailable(), "Sodium native library is not available");
+ Assumptions.assumeTrue(Sodium.isAvailable(), "Sodium native library is not available");
}
@Test
@@ -55,7 +55,7 @@ class ScuttlebuttLocalDiscoveryServiceTest {
@Test
void invalidMulticastAddress(@VertxInstance Vertx vertx) throws Exception {
- assertThrows(
+ Assertions.assertThrows(
IllegalArgumentException.class,
() -> new ScuttlebuttLocalDiscoveryService(vertx, 8008, "0.0.0.0", "10.0.0.0"));
}
@@ -85,8 +85,8 @@ class ScuttlebuttLocalDiscoveryServiceTest {
service.start().join();
service.broadcast();
Thread.sleep(1000);
- assertNotNull(ref.get());
- assertEquals(localId, ref.get());
+ Assertions.assertNotNull(ref.get());
+ Assertions.assertEquals(localId, ref.get());
} finally {
AsyncCompletion.allOf(service2.stop(), service.stop()).join();
}
diff --git a/scuttlebutt-handshake/src/test/java/org/apache/tuweni/scuttlebutt/handshake/vertx/VertxIntegrationTest.java b/scuttlebutt-handshake/src/integration-test/java/org/apache/tuweni/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
similarity index 94%
rename from scuttlebutt-handshake/src/test/java/org/apache/tuweni/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
rename to scuttlebutt-handshake/src/integration-test/java/org/apache/tuweni/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
index 6e39a67..b7eaf87 100644
--- a/scuttlebutt-handshake/src/test/java/org/apache/tuweni/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
+++ b/scuttlebutt-handshake/src/integration-test/java/org/apache/tuweni/scuttlebutt/handshake/vertx/VertxIntegrationTest.java
@@ -41,7 +41,7 @@ class VertxIntegrationTest {
@BeforeAll
static void checkAvailable() {
- assumeTrue(Sodium.isAvailable(), "Sodium native library is not available");
+ Assumptions.assumeTrue(Sodium.isAvailable(), "Sodium native library is not available");
}
private static class MyClientHandler implements ClientHandler {
@@ -112,7 +112,7 @@ class VertxIntegrationTest {
MyClientHandler handler = client.connectTo(20000, "0.0.0.0", serverKeyPair.publicKey(), MyClientHandler::new).get();
Thread.sleep(1000);
- assertNotNull(handler);
+ Assertions.assertNotNull(handler);
String rpcRequestBody = "{\"name\": [\"whoami\"],\"type\": \"async\",\"args\":[]}";
Bytes rpcRequest = RPCCodec.encodeRequest(rpcRequestBody, RPCFlag.BodyType.JSON);
@@ -127,11 +127,11 @@ class VertxIntegrationTest {
Bytes requestBody = rpcRequest.slice(9);
- assertEquals(requestBody, receivedBody);
+ Assertions.assertEquals(requestBody, receivedBody);
handler.closeStream();
Thread.sleep(1000);
- assertTrue(serverHandler.closed);
+ Assertions.assertTrue(serverHandler.closed);
client.stop();
server.stop();
diff --git a/scuttlebutt-rpc/src/test/java/org/apache/tuweni/scuttlebutt/rpc/PatchworkIntegrationTest.java b/scuttlebutt-rpc/src/integration-test/java/org/apache/tuweni/scuttlebutt/rpc/PatchworkIntegrationTest.java
similarity index 97%
rename from scuttlebutt-rpc/src/test/java/org/apache/tuweni/scuttlebutt/rpc/PatchworkIntegrationTest.java
rename to scuttlebutt-rpc/src/integration-test/java/org/apache/tuweni/scuttlebutt/rpc/PatchworkIntegrationTest.java
index e58ee6b..a8c0ad5 100644
--- a/scuttlebutt-rpc/src/test/java/org/apache/tuweni/scuttlebutt/rpc/PatchworkIntegrationTest.java
+++ b/scuttlebutt-rpc/src/integration-test/java/org/apache/tuweni/scuttlebutt/rpc/PatchworkIntegrationTest.java
@@ -152,10 +152,10 @@ class PatchworkIntegrationTest {
secureScuttlebuttVertxClient.connectTo(port, host, publicKey, MyClientHandler::new);
MyClientHandler clientHandler = (MyClientHandler) onConnect.get();
- assertTrue(onConnect.isDone());
- assertFalse(onConnect.isCompletedExceptionally());
+ Assertions.assertTrue(onConnect.isDone());
+ Assertions.assertFalse(onConnect.isCompletedExceptionally());
Thread.sleep(1000);
- assertNotNull(clientHandler);
+ Assertions.assertNotNull(clientHandler);
// An RPC command that just tells us our public key (like ssb-server whoami on the command line.)
String rpcRequestBody = "{\"name\": [\"whoami\"],\"type\": \"async\",\"args\":[]}";
Bytes rpcRequest = RPCCodec.encodeRequest(rpcRequestBody, RPCFlag.BodyType.JSON);
diff --git a/scuttlebutt-rpc/src/test/java/org/apache/tuweni/scuttlebutt/rpc/mux/PatchworkIntegrationTest.java b/scuttlebutt-rpc/src/integration-test/java/org/apache/tuweni/scuttlebutt/rpc/mux/PatchworkIntegrationTest.java
similarity index 99%
rename from scuttlebutt-rpc/src/test/java/org/apache/tuweni/scuttlebutt/rpc/mux/PatchworkIntegrationTest.java
rename to scuttlebutt-rpc/src/integration-test/java/org/apache/tuweni/scuttlebutt/rpc/mux/PatchworkIntegrationTest.java
index 41c892a..2a71a87 100644
--- a/scuttlebutt-rpc/src/test/java/org/apache/tuweni/scuttlebutt/rpc/mux/PatchworkIntegrationTest.java
+++ b/scuttlebutt-rpc/src/integration-test/java/org/apache/tuweni/scuttlebutt/rpc/mux/PatchworkIntegrationTest.java
@@ -68,7 +68,7 @@ public class PatchworkIntegrationTest {
AsyncResult<List<RPCResponse>> allResults = AsyncResult.combine(results);
List<RPCResponse> rpcMessages = allResults.get();
- assertEquals(10, rpcMessages.size());
+ Assertions.assertEquals(10, rpcMessages.size());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@tuweni.apache.org
For additional commands, e-mail: commits-help@tuweni.apache.org