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 <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
