You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2023/09/14 12:37:16 UTC

[iotdb] 04/04: UT added

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

haonan pushed a commit to branch check_timestamp_precision
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit ab76ee4b52f83f82f415c241a1a441734e7be105
Author: HTHou <hh...@outlook.com>
AuthorDate: Thu Sep 14 20:36:52 2023 +0800

    UT added
---
 .../iotdb/db/utils/TimestampPrecisionUtils.java    |  2 +-
 .../db/utils/TimestampPrecisionUtilsTest.java      | 66 +++++++++++++++++-----
 2 files changed, 53 insertions(+), 15 deletions(-)

diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java
index 98797392a8d..34dc642493e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimestampPrecisionUtils.java
@@ -24,7 +24,7 @@ import org.apache.iotdb.db.exception.sql.SemanticException;
 import java.util.concurrent.TimeUnit;
 
 public class TimestampPrecisionUtils {
-  private static final String TIMESTAMP_PRECISION =
+  static String TIMESTAMP_PRECISION =
       CommonDescriptor.getInstance().getConfig().getTimestampPrecision();
 
   @FunctionalInterface
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java
index 2cf91d6bac6..cca3cad9d6d 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/TimestampPrecisionUtilsTest.java
@@ -19,30 +19,68 @@
 
 package org.apache.iotdb.db.utils;
 
-import static org.junit.Assert.assertEquals;
-
-import org.apache.iotdb.commons.conf.CommonDescriptor;
-import org.junit.After;
-import org.junit.Before;
 import org.junit.Test;
 
+import static org.junit.Assert.fail;
+
 public class TimestampPrecisionUtilsTest {
-  private String oldConfig;
 
-  @Before
-  public void before() {
-    oldConfig = CommonDescriptor.getInstance().getConfig().getTimestampPrecision();
+  @Test
+  public void testCheckMsTimestampPrecision() {
+    TimestampPrecisionUtils.TIMESTAMP_PRECISION = "ms";
+    try {
+      TimestampPrecisionUtils.checkTimestampPrecision(-1L);
+      TimestampPrecisionUtils.checkTimestampPrecision(0L);
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546L);
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
   }
 
-  @After
-  public void after() {
-    CommonDescriptor.getInstance().getConfig().setTimestampPrecision(oldConfig);
+  @Test
+  public void testCheckIllegalMsTimestampPrecision() {
+    TimestampPrecisionUtils.TIMESTAMP_PRECISION = "ms";
+    try {
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546000L);
+      fail();
+    } catch (Exception ignored) {
+    }
   }
 
-
   @Test
-  public void testCheckMsTimestampPrecision() {
+  public void testCheckUsTimestampPrecision() {
+    TimestampPrecisionUtils.TIMESTAMP_PRECISION = "us";
+    try {
+      TimestampPrecisionUtils.checkTimestampPrecision(-1L);
+      TimestampPrecisionUtils.checkTimestampPrecision(0L);
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546L);
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546000L);
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+  }
 
+  @Test
+  public void testCheckIllegalUsTimestampPrecision() {
+    TimestampPrecisionUtils.TIMESTAMP_PRECISION = "us";
+    try {
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546000000L);
+      fail();
+    } catch (Exception ignored) {
+    }
   }
 
+  @Test
+  public void testCheckNsTimestampPrecision() {
+    TimestampPrecisionUtils.TIMESTAMP_PRECISION = "ns";
+    try {
+      TimestampPrecisionUtils.checkTimestampPrecision(-1L);
+      TimestampPrecisionUtils.checkTimestampPrecision(0L);
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546L);
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546000L);
+      TimestampPrecisionUtils.checkTimestampPrecision(1694689856546000000L);
+    } catch (Exception e) {
+      fail(e.getMessage());
+    }
+  }
 }