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

jihoonson pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git


The following commit(s) were added to refs/heads/master by this push:
     new c3b7704  validate non-empty String baseDataSource in 
MaterializedViewSupervisorSpec, added tests (#6075)
c3b7704 is described below

commit c3b7704b50b6d52eb4df813bcd3a55c5cbf8f3b4
Author: chengchengpei <chengcheng...@users.noreply.github.com>
AuthorDate: Tue Aug 7 20:23:10 2018 -0400

    validate non-empty String baseDataSource in MaterializedViewSupervisorSpec, 
added tests (#6075)
---
 .../MaterializedViewSupervisorSpec.java            |  8 +-
 .../MaterializedViewSupervisorSpecTest.java        | 94 ++++++++++++++++++++++
 2 files changed, 98 insertions(+), 4 deletions(-)

diff --git 
a/extensions-contrib/materialized-view-maintenance/src/main/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpec.java
 
b/extensions-contrib/materialized-view-maintenance/src/main/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpec.java
index 69fcbca..e77fec1 100644
--- 
a/extensions-contrib/materialized-view-maintenance/src/main/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpec.java
+++ 
b/extensions-contrib/materialized-view-maintenance/src/main/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpec.java
@@ -26,6 +26,7 @@ import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
+import com.google.common.base.Strings;
 import io.druid.data.input.impl.DimensionSchema;
 import io.druid.data.input.impl.DimensionsSpec;
 import io.druid.indexer.HadoopIOConfig;
@@ -102,10 +103,9 @@ public class MaterializedViewSupervisorSpec implements 
SupervisorSpec
       @JacksonInject ChatHandlerProvider chatHandlerProvider
   )
   {
-    this.baseDataSource = Preconditions.checkNotNull(
-                            baseDataSource, 
-                            "baseDataSource cannot be null. Please provide a 
baseDataSource."
-                          );
+    Preconditions.checkArgument(!Strings.isNullOrEmpty(baseDataSource), 
"baseDataSource cannot be null or empty. Please provide a baseDataSource.");
+    this.baseDataSource = baseDataSource;
+
     this.dimensionsSpec = Preconditions.checkNotNull(
                             dimensionsSpec, 
                             "dimensionsSpec cannot be null. Please provide a 
dimensionsSpec"
diff --git 
a/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpecTest.java
 
b/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpecTest.java
index 7a7951e..dd3a734 100644
--- 
a/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpecTest.java
+++ 
b/extensions-contrib/materialized-view-maintenance/src/test/java/io/druid/indexing/materializedview/MaterializedViewSupervisorSpecTest.java
@@ -44,11 +44,17 @@ import static org.easymock.EasyMock.createMock;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
+import org.hamcrest.CoreMatchers;
+import org.junit.Rule;
+import org.junit.rules.ExpectedException;
 
 import java.io.IOException;
 
 public class MaterializedViewSupervisorSpecTest 
 {
+  @Rule
+  public ExpectedException expectedException = ExpectedException.none();
+
   private ObjectMapper objectMapper = TestHelper.makeJsonMapper();
   
   @Before
@@ -143,4 +149,92 @@ public class MaterializedViewSupervisorSpecTest
     Assert.assertEquals(expected.getDimensions(), spec.getDimensions());
     Assert.assertEquals(expected.getMetrics(), spec.getMetrics());
   }
+
+  @Test
+  public void testEmptyBaseDataSource() throws Exception
+  {
+    
expectedException.expect(CoreMatchers.instanceOf(IllegalArgumentException.class));
+    expectedException.expectMessage(
+        "baseDataSource cannot be null or empty. Please provide a 
baseDataSource."
+    );
+    MaterializedViewSupervisorSpec materializedViewSupervisorSpec = new 
MaterializedViewSupervisorSpec(
+        "",
+        new DimensionsSpec(
+            Lists.newArrayList(
+                new StringDimensionSchema("isUnpatrolled"),
+                new StringDimensionSchema("metroCode"),
+                new StringDimensionSchema("namespace"),
+                new StringDimensionSchema("page"),
+                new StringDimensionSchema("regionIsoCode"),
+                new StringDimensionSchema("regionName"),
+                new StringDimensionSchema("user")
+            ),
+            null,
+            null
+        ),
+        new AggregatorFactory[]{
+            new CountAggregatorFactory("count"),
+            new LongSumAggregatorFactory("added", "added")
+        },
+        HadoopTuningConfig.makeDefaultTuningConfig(),
+        null,
+        null,
+        null,
+        null,
+        null,
+        objectMapper,
+        null,
+        null,
+        null,
+        null,
+        null,
+        new MaterializedViewTaskConfig(),
+        createMock(AuthorizerMapper.class),
+        new NoopChatHandlerProvider()
+    );
+  }
+
+  @Test
+  public void testNullBaseDataSource() throws Exception
+  {
+    
expectedException.expect(CoreMatchers.instanceOf(IllegalArgumentException.class));
+    expectedException.expectMessage(
+        "baseDataSource cannot be null or empty. Please provide a 
baseDataSource."
+    );
+    MaterializedViewSupervisorSpec materializedViewSupervisorSpec = new 
MaterializedViewSupervisorSpec(
+        null,
+        new DimensionsSpec(
+            Lists.newArrayList(
+                new StringDimensionSchema("isUnpatrolled"),
+                new StringDimensionSchema("metroCode"),
+                new StringDimensionSchema("namespace"),
+                new StringDimensionSchema("page"),
+                new StringDimensionSchema("regionIsoCode"),
+                new StringDimensionSchema("regionName"),
+                new StringDimensionSchema("user")
+            ),
+            null,
+            null
+        ),
+        new AggregatorFactory[]{
+            new CountAggregatorFactory("count"),
+            new LongSumAggregatorFactory("added", "added")
+        },
+        HadoopTuningConfig.makeDefaultTuningConfig(),
+        null,
+        null,
+        null,
+        null,
+        null,
+        objectMapper,
+        null,
+        null,
+        null,
+        null,
+        null,
+        new MaterializedViewTaskConfig(),
+        createMock(AuthorizerMapper.class),
+        new NoopChatHandlerProvider()
+    );
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org
For additional commands, e-mail: commits-h...@druid.apache.org

Reply via email to