This is an automated email from the ASF dual-hosted git repository.

dope pushed a commit to branch cluster
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/cluster by this push:
     new 1f9d97f  add metadata test
     new 9bb899f  merge
1f9d97f is described below

commit 1f9d97f95162cc72a3059aecbaa303efa060e058
Author: XuYi <[email protected]>
AuthorDate: Tue Apr 9 14:50:26 2019 +0800

    add metadata test
---
 .../cluster/integration/IoTDBMetadataFetchIT.java  | 178 ++++++++++++++++++---
 1 file changed, 156 insertions(+), 22 deletions(-)

diff --git 
a/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
 
b/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
index ad95425..3294373 100644
--- 
a/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
+++ 
b/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.cluster.config.ClusterDescriptor;
 import org.apache.iotdb.cluster.entity.Server;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
 import org.apache.iotdb.jdbc.Config;
+import org.apache.iotdb.jdbc.Constant;
 import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
@@ -60,20 +61,20 @@ public class IoTDBMetadataFetchIT {
     EnvironmentUtils.cleanEnv();
   }
 
-//  @Test
-//  public void test() throws SQLException {
-//    Connection connection = null;
-//    try {
-//      connection = DriverManager.getConnection(Config.IOTDB_URL_PREFIX + 
"127.0.0.1:6667/", "root", "root");
-//      insertSQL(connection, false);
-////      testShowStorageGroup(connection);
-//      testDatabaseMetadata(connection);
-////      testShowTimeseries(connection);
-////      testShowTimeseriesPath(connection);
-//    } finally {
-//      connection.close();
-//    }
-//  }
+  @Test
+  public void test() throws SQLException {
+    Connection connection = null;
+    try {
+      connection = DriverManager.getConnection(Config.IOTDB_URL_PREFIX + 
"127.0.0.1:6667/", "root", "root");
+      insertSQL(connection, false);
+      testShowStorageGroup(connection);
+      testDatabaseMetadata(connection);
+      testShowTimeseries(connection);
+      testShowTimeseriesPath(connection);
+    } finally {
+      connection.close();
+    }
+  }
 
   @Test
   public void testBatch() throws SQLException {
@@ -81,6 +82,8 @@ public class IoTDBMetadataFetchIT {
     try {
       connection = DriverManager.getConnection(Config.IOTDB_URL_PREFIX + 
"127.0.0.1:6667/", "root", "root");
       insertSQL(connection, true);
+      testShowStorageGroup(connection);
+      testDatabaseMetadata(connection);
       testShowTimeseries(connection);
       testShowTimeseriesPath(connection);
     } finally {
@@ -129,7 +132,6 @@ public class IoTDBMetadataFetchIT {
     Statement statement = connection.createStatement();
     String[] sqls = new String[]{
         "show storage group",
-//        "show storage group root.ln",
 
     };
     String[] standards = new String[]{
@@ -138,11 +140,6 @@ public class IoTDBMetadataFetchIT {
           + "root.ln.wf02,\n"
           + "root.ln.wf01,\n"
           + "root.ln.wf05,\n",
-//        "root.ln.wf04,\n"
-//            + "root.ln.wf03,\n"
-//            + "root.ln.wf02,\n"
-//            + "root.ln.wf01,\n"
-//            + "root.ln.wf05,\n"
     };
     checkCorrectness(sqls, standards, statement);
   }
@@ -200,8 +197,12 @@ public class IoTDBMetadataFetchIT {
 
   private void testDatabaseMetadata(Connection connection) throws SQLException{
     DatabaseMetaData databaseMetaData = connection.getMetaData();
-
-    showTimeseriesInJson(databaseMetaData);
+    // TODO Error
+//    showTimeseriesInJson(databaseMetaData);
+    showStorageGroup(databaseMetaData);
+    showAllColumns(databaseMetaData);
+    showDeltaObject(databaseMetaData);
+    showTimeseriesInfo(databaseMetaData);
   }
 
   private void checkCorrectness(String[] sqls, String[] standards, Statement 
statement) throws SQLException{
@@ -231,6 +232,53 @@ public class IoTDBMetadataFetchIT {
     }
   }
 
+  private void showTimeseriesInfo(DatabaseMetaData databaseMetaData) throws 
SQLException {
+    String standard =
+        "Timeseries,Storage Group,DataType,Encoding,\n"
+        + "root.ln.wf04.wt04.status,root.ln.wf04,TEXT,PLAIN,\n"
+        + "root.ln.wf04.wt05.temperature,root.ln.wf04,FLOAT,GORILLA,\n"
+        + "root.ln.wf03.wt02.status,root.ln.wf03,INT64,PLAIN,\n"
+        + "root.ln.wf03.wt03.temperature,root.ln.wf03,FLOAT,TS_2DIFF,\n"
+        + "root.ln.wf02.wt03.status,root.ln.wf02,INT32,PLAIN,\n"
+        + "root.ln.wf02.wt04.temperature,root.ln.wf02,FLOAT,RLE,\n"
+        + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n"
+        + "root.ln.wf01.wt01.temperature,root.ln.wf01,FLOAT,RLE,\n"
+        + "root.ln.wf01.wt02.humidity,root.ln.wf01,DOUBLE,RLE,\n"
+        + "root.ln.wf05.wt01.status,root.ln.wf05,DOUBLE,PLAIN,\n";
+    ResultSet resultSet = 
databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES, "root", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+
+    resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES, 
"root.ln", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+
+    standard =
+        "Timeseries,Storage Group,DataType,Encoding,\n"
+      + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n"
+      + "root.ln.wf01.wt01.temperature,root.ln.wf01,FLOAT,RLE,\n"
+      + "root.ln.wf01.wt02.humidity,root.ln.wf01,DOUBLE,RLE,\n";
+    resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES, 
"root.ln.wf01", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+
+    standard =
+        "Timeseries,Storage Group,DataType,Encoding,\n"
+      + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n"
+      + "root.ln.wf01.wt01.temperature,root.ln.wf01,FLOAT,RLE,\n"
+      + "root.ln.wf05.wt01.status,root.ln.wf05,DOUBLE,PLAIN,\n";
+    resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES, 
"root.ln.*.wt01", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+
+    standard =
+        "Timeseries,Storage Group,DataType,Encoding,\n"
+      + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n";
+    resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES, 
"root.ln.wf01.wt01.status", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+  }
+
   private void showTimeseriesInJson(DatabaseMetaData databaseMetaData) {
     String metadataInJson = databaseMetaData.toString();
     String standard =
@@ -263,4 +311,90 @@ public class IoTDBMetadataFetchIT {
 
     Assert.assertEquals(standard, metadataInJson);
   }
+
+  private void showStorageGroup(DatabaseMetaData databaseMetaData) throws 
SQLException {
+    String standard =
+        "Storage Group,\n"
+      + "root.ln.wf04,\n"
+      + "root.ln.wf03,\n"
+      + "root.ln.wf02,\n"
+      + "root.ln.wf01,\n"
+      + "root.ln.wf05,\n";
+    ResultSet resultSet = 
databaseMetaData.getColumns(Constant.CATALOG_STORAGE_GROUP, null, null, null);
+    checkCorrectness(resultSet, standard);
+  }
+
+  private void showDeltaObject(DatabaseMetaData databaseMetaData) throws 
SQLException {
+    String standard =
+        "Column,\n"
+      + "root.ln.wf02.wt04,\n"
+      + "root.ln.wf02.wt03,\n"
+      + "root.ln.wf04.wt05,\n"
+      + "root.ln.wf04.wt04,\n"
+      + "root.ln.wf01.wt01,\n"
+      + "root.ln.wf05.wt01,\n"
+      + "root.ln.wf01.wt02,\n"
+      + "root.ln.wf03.wt03,\n"
+      + "root.ln.wf03.wt02,\n";
+    ResultSet resultSet = databaseMetaData.getColumns(Constant.CATALOG_DEVICE, 
"ln", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+
+    standard = "Column,\n";
+    resultSet = databaseMetaData.getColumns(Constant.CATALOG_DEVICE, "ln1", 
null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+  }
+
+  private void showAllColumns(DatabaseMetaData databaseMetaData) throws 
SQLException {
+    String standard =
+        "Column,\n"
+      + "root.ln.wf04.wt04.status,\n"
+      + "root.ln.wf04.wt05.temperature,\n"
+      + "root.ln.wf03.wt02.status,\n"
+      + "root.ln.wf03.wt03.temperature,\n"
+      + "root.ln.wf02.wt03.status,\n"
+      + "root.ln.wf02.wt04.temperature,\n"
+      + "root.ln.wf01.wt01.status,\n"
+      + "root.ln.wf01.wt01.temperature,\n"
+      + "root.ln.wf01.wt02.humidity,\n"
+      + "root.ln.wf05.wt01.status,\n";
+    ResultSet resultSet = databaseMetaData.getColumns(Constant.CATALOG_COLUMN, 
"root", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+
+    standard =
+        "Column,\n"
+      + "root.ln.wf01.wt01.status,\n"
+      + "root.ln.wf01.wt01.temperature,\n"
+      + "root.ln.wf01.wt02.humidity,\n";
+    resultSet = databaseMetaData.getColumns(Constant.CATALOG_COLUMN, 
"root.ln.wf01", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+
+    standard =
+        "Column,\n"
+      + "root.ln.wf03.wt02.status,\n"
+      + "root.ln.wf01.wt02.humidity,\n";
+    resultSet = databaseMetaData.getColumns(Constant.CATALOG_COLUMN, 
"root.ln.*.wt02", null, null);
+    checkCorrectness(resultSet, standard);
+    resultSet.close();
+  }
+
+  private void checkCorrectness(ResultSet resultSet, String standard) throws 
SQLException{
+    ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+    int colCount = resultSetMetaData.getColumnCount();
+    StringBuilder resultStr = new StringBuilder();
+    for (int i = 1; i < colCount + 1; i++) {
+      resultStr.append(resultSetMetaData.getColumnName(i)).append(",");
+    }
+    resultStr.append("\n");
+    while (resultSet.next()) {
+      for (int i = 1; i <= colCount; i++) {
+        resultStr.append(resultSet.getString(i)).append(",");
+      }
+      resultStr.append("\n");
+    }
+    Assert.assertEquals(standard, resultStr.toString());
+  }
 }

Reply via email to