You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by sn...@apache.org on 2023/11/07 18:11:33 UTC

(pinot) 02/02: Added invalid argument related tests for AdhocTaskConfig and rephrased an error message.

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

snlee pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pinot.git

commit 9092244e0be9f27158320c987833bdb3b6179bdd
Author: Aishik <ai...@startree.ai>
AuthorDate: Tue Nov 7 14:24:22 2023 +0530

    Added invalid argument related tests for AdhocTaskConfig and rephrased an error message.
---
 .../apache/pinot/spi/config/task/AdhocTaskConfig.java  |  3 ++-
 .../pinot/spi/config/task/AdhocTaskConfigTest.java     | 18 ++++++++++++++++++
 2 files changed, 20 insertions(+), 1 deletion(-)

diff --git a/pinot-spi/src/main/java/org/apache/pinot/spi/config/task/AdhocTaskConfig.java b/pinot-spi/src/main/java/org/apache/pinot/spi/config/task/AdhocTaskConfig.java
index ad4af27646..6e8c64a3dc 100644
--- a/pinot-spi/src/main/java/org/apache/pinot/spi/config/task/AdhocTaskConfig.java
+++ b/pinot-spi/src/main/java/org/apache/pinot/spi/config/task/AdhocTaskConfig.java
@@ -57,7 +57,8 @@ public class AdhocTaskConfig extends BaseJsonConfig {
       @JsonProperty("taskConfigs") @Nullable Map<String, String> taskConfigs) {
     Preconditions.checkArgument(taskType != null, "'taskType' must be configured");
     Preconditions.checkArgument(tableName != null, "'tableName' must be configured");
-    Preconditions.checkArgument(taskName == null || !taskName.contains("/"), "'taskName' must not contain '/'");
+    Preconditions.checkArgument(taskName == null || !taskName.contains("/"),
+        "'taskName' must not contain path separator '/'");
     _taskType = taskType;
     _tableName = tableName;
     _taskName = taskName;
diff --git a/pinot-spi/src/test/java/org/apache/pinot/spi/config/task/AdhocTaskConfigTest.java b/pinot-spi/src/test/java/org/apache/pinot/spi/config/task/AdhocTaskConfigTest.java
index 9b82b73ab5..885df44259 100644
--- a/pinot-spi/src/test/java/org/apache/pinot/spi/config/task/AdhocTaskConfigTest.java
+++ b/pinot-spi/src/test/java/org/apache/pinot/spi/config/task/AdhocTaskConfigTest.java
@@ -24,6 +24,7 @@ import org.apache.pinot.spi.utils.JsonUtils;
 import org.testng.annotations.Test;
 
 import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertThrows;
 
 
 public class AdhocTaskConfigTest {
@@ -40,4 +41,21 @@ public class AdhocTaskConfigTest {
     assertEquals(adhocTaskConfig.getTaskConfigs().size(), 1);
     assertEquals(adhocTaskConfig.getTaskConfigs().get("inputDirURI"), "s3://my-bucket/my-file.json");
   }
+
+  @Test
+  public void testInvalidArgumentsForAdhocTaskConfig() {
+    // Test 1 : pass invalid taskType(null) to AdhocTaskConfig.
+    assertThrows(IllegalArgumentException.class, () -> new AdhocTaskConfig(null, "TestTable", "TestTaskName",
+        ImmutableMap.of("inputDirURI", "s3://my-bucket/my-file.json")));
+
+    // Test 2 : pass invalid tableName(null) to AdhocTaskConfig.
+    assertThrows(IllegalArgumentException.class,
+        () -> new AdhocTaskConfig("SegmentGenerationAndPushTask", null, "TestTaskName",
+            ImmutableMap.of("inputDirURI", "s3://my-bucket/my-file.json")));
+
+    //Test 3 : pass invalid taskName(String with path separator '/') to AdhocTaskConfig.
+    assertThrows(IllegalArgumentException.class,
+        () -> new AdhocTaskConfig("SegmentGenerationAndPushTask", "TestTable", "Invalid/TestTaskName",
+            ImmutableMap.of("inputDirURI", "s3://my-bucket/my-file.json")));
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org