You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2021/05/07 04:49:11 UTC
[iotdb] branch test_container updated: refactor the e2e test
This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch test_container
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/test_container by this push:
new 5d7faa8 refactor the e2e test
5d7faa8 is described below
commit 5d7faa8257f547b96d94215087b675920d8785cf
Author: xiangdong huang <sa...@gmail.com>
AuthorDate: Fri May 7 12:48:36 2021 +0800
refactor the e2e test
---
.../test/java/org/apache/iotdb/db/sql/Cases.java | 53 ++++++++++++++--------
.../java/org/apache/iotdb/db/sql/ClusterIT.java | 25 ++++++----
.../java/org/apache/iotdb/db/sql/SingleNodeIT.java | 6 ++-
3 files changed, 54 insertions(+), 30 deletions(-)
diff --git a/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java b/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java
index bbb9e6a..57143e1 100644
--- a/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java
+++ b/testcontainer/src/test/java/org/apache/iotdb/db/sql/Cases.java
@@ -32,14 +32,21 @@ public abstract class Cases {
protected Statement writeStatement;
protected Connection writeConnection;
- protected Statement readStatement;
- protected Connection readConnection;
+ protected Statement[] readStatements;
+ protected Connection[] readConnections;
+
+ /** initialize the writeStatement,writeConnection, readStatements and the readConnections. */
+ public abstract void setUp() throws Exception;
public void tearDown() throws Exception {
writeStatement.close();
writeConnection.close();
- readStatement.close();
- readConnection.close();
+ for (Statement statement : readStatements) {
+ statement.close();
+ }
+ for (Connection connection : readConnections) {
+ connection.close();
+ }
}
@Test
@@ -54,26 +61,32 @@ public abstract class Cases {
timeSeries));
}
ResultSet resultSet = null;
- resultSet = readStatement.executeQuery("show timeseries");
- Set<String> result = new HashSet<>();
- while (resultSet.next()) {
- result.add(resultSet.getString(1));
- }
- Assert.assertEquals(3, result.size());
- for (String timeseries : timeSeriesArray) {
- Assert.assertTrue(result.contains(timeseries));
+ // try to read data on each node.
+ for (Statement readStatement : readStatements) {
+ resultSet = readStatement.executeQuery("show timeseries");
+ Set<String> result = new HashSet<>();
+ while (resultSet.next()) {
+ result.add(resultSet.getString(1));
+ }
+ Assert.assertEquals(3, result.size());
+ for (String timeseries : timeSeriesArray) {
+ Assert.assertTrue(result.contains(timeseries));
+ }
+ resultSet.close();
}
- resultSet.close();
// test https://issues.apache.org/jira/browse/IOTDB-1331
writeStatement.execute("insert into root.ln.wf01.wt01(time, temperature) values(10, 1.0)");
- resultSet = readStatement.executeQuery("select avg(temperature) from root.ln.wf01.wt01");
- if (resultSet.next()) {
- Assert.assertEquals(1.0, resultSet.getDouble(1), 0.01);
- } else {
- Assert.fail("expect 1 result, but get an empty resultSet.");
+ // try to read data on each node.
+ for (Statement readStatement : readStatements) {
+ resultSet = readStatement.executeQuery("select avg(temperature) from root.ln.wf01.wt01");
+ if (resultSet.next()) {
+ Assert.assertEquals(1.0, resultSet.getDouble(1), 0.01);
+ } else {
+ Assert.fail("expect 1 result, but get an empty resultSet.");
+ }
+ Assert.assertFalse(resultSet.next());
+ resultSet.close();
}
- Assert.assertFalse(resultSet.next());
- resultSet.close();
}
}
diff --git a/testcontainer/src/test/java/org/apache/iotdb/db/sql/ClusterIT.java b/testcontainer/src/test/java/org/apache/iotdb/db/sql/ClusterIT.java
index 0497ae6..c90f5c4 100644
--- a/testcontainer/src/test/java/org/apache/iotdb/db/sql/ClusterIT.java
+++ b/testcontainer/src/test/java/org/apache/iotdb/db/sql/ClusterIT.java
@@ -27,7 +27,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.testcontainers.containers.DockerComposeContainer;
+import java.sql.Connection;
import java.sql.DriverManager;
+import java.sql.Statement;
// do not add tests here.
// add tests into Cases.java instead.
@@ -47,12 +49,12 @@ public abstract class ClusterIT extends Cases {
return getContainer().getServiceHost("iotdb-server_1", 6667);
}
- protected int getReadRpcPort() {
- return getContainer().getServicePort("iotdb-server_1", 6667);
+ protected int[] getReadRpcPorts() {
+ return new int[] {getContainer().getServicePort("iotdb-server_1", 6667)};
}
- protected String getReadRpcIp() {
- return getContainer().getServiceHost("iotdb-server_1", 6667);
+ protected String[] getReadRpcIps() {
+ return new String[] {getContainer().getServiceHost("iotdb-server_1", 6667)};
}
protected void startCluster() {}
@@ -68,10 +70,17 @@ public abstract class ClusterIT extends Cases {
DriverManager.getConnection(
"jdbc:iotdb://" + getWriteRpcIp() + ":" + getWriteRpcPort(), "root", "root");
writeStatement = writeConnection.createStatement();
- readConnection =
- DriverManager.getConnection(
- "jdbc:iotdb://" + getReadRpcIp() + ":" + getReadRpcPort(), "root", "root");
- readStatement = readConnection.createStatement();
+
+ int[] readPorts = getReadRpcPorts();
+ String[] readIps = getReadRpcIps();
+ readConnections = new Connection[readPorts.length];
+ readStatements = new Statement[readPorts.length];
+ for (int i = 0; i < readPorts.length; i++) {
+ readConnections[i] =
+ DriverManager.getConnection(
+ "jdbc:iotdb://" + readIps[i] + ":" + readPorts[i], "root", "root");
+ readStatements[i] = readConnections[i].createStatement();
+ }
}
@After
diff --git a/testcontainer/src/test/java/org/apache/iotdb/db/sql/SingleNodeIT.java b/testcontainer/src/test/java/org/apache/iotdb/db/sql/SingleNodeIT.java
index 3a042e9..1f5585d 100644
--- a/testcontainer/src/test/java/org/apache/iotdb/db/sql/SingleNodeIT.java
+++ b/testcontainer/src/test/java/org/apache/iotdb/db/sql/SingleNodeIT.java
@@ -63,10 +63,12 @@ public class SingleNodeIT extends Cases {
rpcPort = dslContainer.getMappedPort(6667);
syncPort = dslContainer.getMappedPort(5555);
Class.forName(Config.JDBC_DRIVER_NAME);
+ readConnections = new Connection[1];
+ readStatements = new Statement[1];
writeConnection =
- readConnection =
+ readConnections[0] =
DriverManager.getConnection("jdbc:iotdb://127.0.0.1:" + rpcPort, "root", "root");
- writeStatement = readStatement = writeConnection.createStatement();
+ writeStatement = readStatements[0] = writeConnection.createStatement();
}
@After