This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch node_matcher in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c0dcc8cad869f642d24c3e47418af3308068b485 Author: HTHou <[email protected]> AuthorDate: Tue Jan 26 11:12:10 2021 +0800 add some tests --- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 1 + .../iotdb/db/metadata/MManagerBasicTest.java | 32 ++++++++++++++++++++++ .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 31 ++++++++++++++++++++- 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java index eb61cb3..d2d2b60 100644 --- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java +++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java @@ -58,6 +58,7 @@ public class IoTDBConfig { private static final String PARTIAL_NODE_MATCHER = "[" + PATH_SEPARATOR + "]" + ID_MATCHER; // for path like: root.sg1.d1."1.2.3", root.sg.d1."1.2.3" + // TODO: need a correct NODE_MATCHER for checking timeseries format private static final String NODE_MATCHER = "[" + PATH_SEPARATOR + "]([\"])?" + ID_MATCHER + "(" + PARTIAL_NODE_MATCHER + ")*([\"])?"; diff --git a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java index 46ca280..c4c9a05 100644 --- a/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java +++ b/server/src/test/java/org/apache/iotdb/db/metadata/MManagerBasicTest.java @@ -365,6 +365,38 @@ public class MManagerBasicTest { } @Test + public void testSetStorageGroupWithIllegalName() { + MManager manager = IoTDB.metaManager; + try { + manager.setStorageGroup(new PartialPath("root.laptop\n")); + fail(); + } catch (MetadataException e) { + } + try { + manager.setStorageGroup(new PartialPath("root.laptop\t")); + fail(); + } catch (MetadataException e) { + } + } + + @Test + public void testCreateTimeseriesWithIllegalName() { + MManager manager = IoTDB.metaManager; + try { + manager.createTimeseries(new PartialPath("root.laptop.d1\n.s1"), TSDataType.INT32, TSEncoding.PLAIN, + CompressionType.SNAPPY, null); + fail(); + } catch (MetadataException e) { + } + try { + manager.createTimeseries(new PartialPath("root.laptop.d1\t.s1"), TSDataType.INT32, TSEncoding.PLAIN, + CompressionType.SNAPPY, null); + fail(); + } catch (MetadataException e) { + } + } + + @Test public void testGetDevicesWithGivenPrefix() { MManager manager = IoTDB.metaManager; diff --git a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java index d0a070d..b9571bc 100644 --- a/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java +++ b/session/src/test/java/org/apache/iotdb/session/IoTDBSessionSimpleIT.java @@ -24,7 +24,6 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; import java.util.ArrayList; -import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -212,6 +211,36 @@ public class IoTDBSessionSimpleIT { } @Test + public void testInsertIntoIllegalTimeseries() + throws IoTDBConnectionException, StatementExecutionException { + session = new Session("127.0.0.1", 6667, "root", "root"); + session.open(); + + String deviceId = "root.sg1.d1\n"; + List<String> measurements = new ArrayList<>(); + measurements.add("s1"); + measurements.add("s2"); + measurements.add("s3"); + measurements.add("s4"); + + List<String> values = new ArrayList<>(); + values.add("1"); + values.add("1.2"); + values.add("true"); + values.add("dad"); + try { + session.insertRecord(deviceId, 1L, measurements, values); + } catch (Exception e) { + logger.error("" ,e); + } + + SessionDataSet dataSet = session.executeQueryStatement("show timeseries root"); + Assert.assertFalse(dataSet.hasNext()); + + session.close(); + } + + @Test public void testInsertByObjAndNotInferType() throws IoTDBConnectionException, StatementExecutionException { session = new Session("127.0.0.1", 6667, "root", "root");
