You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by sr...@apache.org on 2017/10/09 18:41:08 UTC
[1/3] storm git commit: STORM-2698: Upgrade Mockito and Hamcrest to
latest versions
Repository: storm
Updated Branches:
refs/heads/master 1a857637e -> 352cd4665
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
----------------------------------------------------------------------
diff --git a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
index 10e422d..32d9435 100644
--- a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
+++ b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/handler/LogviewerLogSearchHandlerTest.java
@@ -20,10 +20,11 @@ package org.apache.storm.daemon.logviewer.handler;
import static java.util.stream.Collectors.joining;
import static org.junit.Assert.assertEquals;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyListOf;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.isNull;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
@@ -676,7 +677,7 @@ public class LogviewerLogSearchHandlerTest {
verify(handler, times(4)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(),
offset.capture(), search.capture());
- verify(handler, times(4)).logsForPort(anyString(), any(File.class));
+ verify(handler, times(4)).logsForPort(isNull(), any(File.class));
// File offset and byte offset should always be zero when searching multiple workers (multiple ports).
assertEquals(logFiles, files.getAllValues().get(0));
@@ -718,7 +719,7 @@ public class LogviewerLogSearchHandlerTest {
verify(handler, times(4)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(),
offset.capture(), search.capture());
- verify(handler, times(4)).logsForPort(anyString(), any(File.class));
+ verify(handler, times(4)).logsForPort(isNull(), any(File.class));
// File offset and byte offset should always be zero when searching multiple workers (multiple ports).
assertEquals(Collections.singletonList(logFiles.get(0)), files.getAllValues().get(0));
@@ -760,7 +761,7 @@ public class LogviewerLogSearchHandlerTest {
verify(handler, times(1)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(),
offset.capture(), search.capture());
- verify(handler, times(2)).logsForPort(anyString(), any(File.class));
+ verify(handler, times(2)).logsForPort(isNull(), any(File.class));
assertEquals(logFiles, files.getAllValues().get(0));
assertEquals(Integer.valueOf(20), numMatches.getAllValues().get(0));
@@ -783,7 +784,7 @@ public class LogviewerLogSearchHandlerTest {
verify(handler, times(1)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(),
offset.capture(), search.capture());
- verify(handler, times(2)).logsForPort(anyString(), any(File.class));
+ verify(handler, times(2)).logsForPort(isNull(), any(File.class));
assertEquals(logFiles, files.getAllValues().get(0));
assertEquals(Integer.valueOf(20), numMatches.getAllValues().get(0));
@@ -806,7 +807,7 @@ public class LogviewerLogSearchHandlerTest {
verify(handler, times(1)).findNMatches(files.capture(), numMatches.capture(), fileOffset.capture(),
offset.capture(), search.capture());
- verify(handler, times(2)).logsForPort(anyString(), any(File.class));
+ verify(handler, times(2)).logsForPort(isNull(), any(File.class));
// File offset should be zero, since search-archived is false.
assertEquals(Collections.singletonList(logFiles.get(0)), files.getAllValues().get(0));
@@ -822,8 +823,8 @@ public class LogviewerLogSearchHandlerTest {
handler.deepSearchLogsForTopology("", null, "search", "20", "6700", "1", "100", true, null, null);
- verify(handler, times(1)).findNMatches(anyListOf(File.class), anyInt(), anyInt(), anyInt(), anyString());
- verify(handler, times(2)).logsForPort(anyString(), any(File.class));
+ verify(handler, times(1)).findNMatches(anyList(), anyInt(), anyInt(), anyInt(), anyString());
+ verify(handler, times(2)).logsForPort(isNull(), any(File.class));
}
@Test
@@ -850,14 +851,14 @@ public class LogviewerLogSearchHandlerTest {
new ResourceAuthorizer(stormConf));
handler = spy(handler);
- doReturn(logFiles).when(handler).logsForPort(anyString(), any(File.class));
+ doReturn(logFiles).when(handler).logsForPort(any(), any());
doAnswer(invocationOnMock -> {
Object[] arguments = invocationOnMock.getArguments();
int fileOffset = (Integer) arguments[2];
String search = (String) arguments[4];
return new LogviewerLogSearchHandler.Matched(fileOffset, search, Collections.emptyList());
- }).when(handler).findNMatches(anyListOf(File.class), anyInt(), anyInt(), anyInt(), anyString());
+ }).when(handler).findNMatches(any(), anyInt(), anyInt(), anyInt(), any());
return handler;
}
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/utils/LogCleanerTest.java
----------------------------------------------------------------------
diff --git a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/utils/LogCleanerTest.java b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/utils/LogCleanerTest.java
index 1031c04..847edb1 100644
--- a/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/utils/LogCleanerTest.java
+++ b/storm-webapp/src/test/java/org/apache/storm/daemon/logviewer/utils/LogCleanerTest.java
@@ -24,13 +24,15 @@ import static org.apache.storm.DaemonConfig.LOGVIEWER_CLEANUP_AGE_MINS;
import static org.apache.storm.DaemonConfig.LOGVIEWER_CLEANUP_INTERVAL_SECS;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyListOf;
-import static org.mockito.Matchers.anyLong;
-import static org.mockito.Matchers.anyMapOf;
-import static org.mockito.Matchers.anySetOf;
-import static org.mockito.Matchers.anyString;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.anyListOf;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyMapOf;
+import static org.mockito.ArgumentMatchers.anySet;
+import static org.mockito.ArgumentMatchers.anySetOf;
+import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.doAnswer;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -118,12 +120,12 @@ public class LogCleanerTest {
prevUtils = Utils.setInstance(mockUtils);
DirectoryCleaner mockDirectoryCleaner = mock(DirectoryCleaner.class);
- when(mockDirectoryCleaner.getStreamForDirectory(any(File.class))).thenAnswer(invocationOnMock -> {
+ when(mockDirectoryCleaner.getStreamForDirectory(any())).thenAnswer(invocationOnMock -> {
File file = (File) invocationOnMock.getArguments()[0];
List<Path> paths = Arrays.stream(file.listFiles()).map(f -> mkMockPath(f)).collect(toList());
return mkDirectoryStream(paths);
});
- when(mockDirectoryCleaner.deleteOldestWhileTooLarge(anyListOf(File.class), anyLong(), anyBoolean(), anySetOf(String.class)))
+ when(mockDirectoryCleaner.deleteOldestWhileTooLarge(any(), anyLong(), anyBoolean(), any()))
.thenCallRealMethod();
long nowMillis = Time.currentTimeMillis();
[2/3] storm git commit: STORM-2698: Upgrade Mockito and Hamcrest to
latest versions
Posted by sr...@apache.org.
STORM-2698: Upgrade Mockito and Hamcrest to latest versions
Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/3503dcea
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/3503dcea
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/3503dcea
Branch: refs/heads/master
Commit: 3503dcea62c9bb9d004388773705ad362e7cc5dd
Parents: 70d8ba9
Author: Stig Rohde Døssing <sr...@apache.org>
Authored: Sun Oct 8 01:19:26 2017 +0200
Committer: Stig Rohde Døssing <sr...@apache.org>
Committed: Mon Oct 9 07:21:21 2017 +0200
----------------------------------------------------------------------
examples/storm-starter/pom.xml | 9 +-
external/storm-cassandra/pom.xml | 8 +-
external/storm-elasticsearch/pom.xml | 13 +-
.../elasticsearch/bolt/EsLookupBoltTest.java | 1 -
.../elasticsearch/bolt/EsPercolateBoltTest.java | 13 +-
external/storm-hbase/pom.xml | 7 +-
external/storm-hdfs/pom.xml | 7 +-
external/storm-hive/pom.xml | 10 +-
external/storm-kafka-client/pom.xml | 9 +-
.../apache/storm/kafka/bolt/KafkaBoltTest.java | 9 +-
.../storm/kafka/spout/KafkaSpoutCommitTest.java | 10 +-
external/storm-kafka/pom.xml | 8 +-
.../org/apache/storm/kafka/bolt/KafkaBolt.java | 2 +-
.../apache/storm/kafka/bolt/KafkaBoltTest.java | 15 +-
external/storm-mongodb/pom.xml | 7 +-
external/storm-opentsdb/pom.xml | 7 +-
external/storm-redis/pom.xml | 7 +-
pom.xml | 18 +-
sql/storm-sql-core/pom.xml | 7 +-
sql/storm-sql-external/storm-sql-hdfs/pom.xml | 7 +-
.../sql/hdfs/TestHdfsDataSourcesProvider.java | 140 +++++++-------
sql/storm-sql-external/storm-sql-kafka/pom.xml | 7 +-
.../sql/kafka/TestKafkaDataSourcesProvider.java | 136 +++++++-------
.../storm-sql-mongodb/pom.xml | 7 +-
.../mongodb/TestMongoDataSourcesProvider.java | 121 ++++++------
sql/storm-sql-external/storm-sql-redis/pom.xml | 7 +-
.../sql/redis/TestRedisDataSourcesProvider.java | 188 ++++++++++---------
sql/storm-sql-runtime/pom.xml | 7 +-
storm-client/pom.xml | 8 +-
.../storm/grouping/PartialKeyGroupingTest.java | 2 +-
.../PersistentWindowedBoltExecutorTest.java | 29 ++-
.../topology/StatefulBoltExecutorTest.java | 39 ++--
.../windowing/persistence/WindowStateTest.java | 10 -
storm-core/pom.xml | 8 +-
.../test/clj/org/apache/storm/cluster_test.clj | 2 +-
.../test/clj/org/apache/storm/drpc_test.clj | 14 +-
storm-server/pom.xml | 6 +-
.../storm/daemon/supervisor/BasicContainer.java | 2 +-
.../storm/localizer/AsyncLocalizerTest.java | 13 +-
storm-webapp/pom.xml | 11 +-
.../handler/LogviewerLogSearchHandlerTest.java | 27 +--
.../daemon/logviewer/utils/LogCleanerTest.java | 20 +-
42 files changed, 510 insertions(+), 468 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/examples/storm-starter/pom.xml
----------------------------------------------------------------------
diff --git a/examples/storm-starter/pom.xml b/examples/storm-starter/pom.xml
index e95958d..d12062d 100644
--- a/examples/storm-starter/pom.xml
+++ b/examples/storm-starter/pom.xml
@@ -51,9 +51,12 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.easytesting</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-cassandra/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-cassandra/pom.xml b/external/storm-cassandra/pom.xml
index 9a7d683..d98824c 100644
--- a/external/storm-cassandra/pom.xml
+++ b/external/storm-cassandra/pom.xml
@@ -117,9 +117,11 @@
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>1.10.19</version>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-elasticsearch/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-elasticsearch/pom.xml b/external/storm-elasticsearch/pom.xml
index 72d2639..c6371a4 100644
--- a/external/storm-elasticsearch/pom.xml
+++ b/external/storm-elasticsearch/pom.xml
@@ -86,12 +86,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-all</artifactId>
- <version>1.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-testlib</artifactId>
<version>${guava.version}</version>
@@ -99,8 +93,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.elasticsearch</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsLookupBoltTest.java
----------------------------------------------------------------------
diff --git a/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsLookupBoltTest.java b/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsLookupBoltTest.java
index c68a4da..786bab1 100644
--- a/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsLookupBoltTest.java
+++ b/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsLookupBoltTest.java
@@ -92,7 +92,6 @@ public class EsLookupBoltTest extends AbstractEsBoltTest<EsLookupBolt> {
when(tupleMapper.getIndex(tuple)).thenReturn(index);
when(tupleMapper.getType(tuple)).thenReturn(type);
when(tupleMapper.getId(tuple)).thenReturn(documentId);
- when(output.toValues(any(Response.class))).thenReturn(Collections.singleton(new Values("")));
}
private void makeRequestAndThrow(Exception exception) throws IOException {
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsPercolateBoltTest.java
----------------------------------------------------------------------
diff --git a/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsPercolateBoltTest.java b/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsPercolateBoltTest.java
index f994f8f..135089e 100644
--- a/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsPercolateBoltTest.java
+++ b/external/storm-elasticsearch/src/test/java/org/apache/storm/elasticsearch/bolt/EsPercolateBoltTest.java
@@ -17,20 +17,24 @@
*/
package org.apache.storm.elasticsearch.bolt;
-import static org.mockito.Matchers.any;
+import static org.hamcrest.CoreMatchers.instanceOf;
+import static org.hamcrest.CoreMatchers.is;
+import static org.junit.Assert.assertThat;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import org.apache.storm.elasticsearch.common.EsConfig;
import org.apache.storm.elasticsearch.common.EsTestUtil;
+import org.apache.storm.elasticsearch.response.PercolateResponse;
import org.apache.storm.testing.IntegrationTest;
import org.apache.storm.tuple.Tuple;
import org.apache.storm.tuple.Values;
-import org.elasticsearch.action.percolate.PercolateResponse;
import org.elasticsearch.client.ResponseException;
import org.junit.Before;
import org.junit.Test;
import org.junit.experimental.categories.Category;
+import org.mockito.ArgumentCaptor;
@Category(IntegrationTest.class)
public class EsPercolateBoltTest extends AbstractEsBoltIntegrationTest<EsPercolateBolt> {
@@ -57,7 +61,10 @@ public class EsPercolateBoltTest extends AbstractEsBoltIntegrationTest<EsPercola
bolt.execute(tuple);
verify(outputCollector).ack(tuple);
- verify(outputCollector).emit(new Values(source, any(PercolateResponse.Match.class)));
+ ArgumentCaptor<Values> emitCaptor = ArgumentCaptor.forClass(Values.class);
+ verify(outputCollector).emit(emitCaptor.capture());
+ assertThat(emitCaptor.getValue().get(0), is(source));
+ assertThat(emitCaptor.getValue().get(1), instanceOf(PercolateResponse.Match.class));
}
@Test
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-hbase/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-hbase/pom.xml b/external/storm-hbase/pom.xml
index b4f558a..2c97498 100644
--- a/external/storm-hbase/pom.xml
+++ b/external/storm-hbase/pom.xml
@@ -109,8 +109,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-hdfs/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-hdfs/pom.xml b/external/storm-hdfs/pom.xml
index 23b8ed7..03488a7 100644
--- a/external/storm-hdfs/pom.xml
+++ b/external/storm-hdfs/pom.xml
@@ -180,8 +180,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-hive/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-hive/pom.xml b/external/storm-hive/pom.xml
index 24ca2cc..62979f0 100644
--- a/external/storm-hive/pom.xml
+++ b/external/storm-hive/pom.xml
@@ -135,10 +135,12 @@
</exclusions>
</dependency>
<dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>1.9.0</version>
- <scope>test</scope>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-kafka-client/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-kafka-client/pom.xml b/external/storm-kafka-client/pom.xml
index c3bd457..816f5dd 100644
--- a/external/storm-kafka-client/pom.xml
+++ b/external/storm-kafka-client/pom.xml
@@ -79,17 +79,10 @@
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-core</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <scope>test</scope>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/bolt/KafkaBoltTest.java
----------------------------------------------------------------------
diff --git a/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/bolt/KafkaBoltTest.java b/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/bolt/KafkaBoltTest.java
index 0e3d028..d84d803 100644
--- a/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/bolt/KafkaBoltTest.java
+++ b/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/bolt/KafkaBoltTest.java
@@ -17,8 +17,8 @@
*/
package org.apache.storm.kafka.bolt;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.argThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.argThat;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@@ -75,9 +75,8 @@ public class KafkaBoltTest {
bolt.execute(testTuple);
verify(producer).send(argThat(new ArgumentMatcher<ProducerRecord<String, String>>() {
@Override
- public boolean matches(Object argument) {
- LOG.info("GOT {} ->", argument);
- ProducerRecord<String, String> arg = (ProducerRecord<String, String>) argument;
+ public boolean matches(ProducerRecord<String, String> arg) {
+ LOG.info("GOT {} ->", arg);
LOG.info(" {} {} {}", arg.topic(), arg.key(), arg.value());
return "MY_TOPIC".equals(arg.topic()) &&
"KEY".equals(arg.key()) &&
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/spout/KafkaSpoutCommitTest.java
----------------------------------------------------------------------
diff --git a/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/spout/KafkaSpoutCommitTest.java b/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/spout/KafkaSpoutCommitTest.java
index 99a7542..a356cb5 100644
--- a/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/spout/KafkaSpoutCommitTest.java
+++ b/external/storm-kafka-client/src/test/java/org/apache/storm/kafka/spout/KafkaSpoutCommitTest.java
@@ -17,8 +17,6 @@ package org.apache.storm.kafka.spout;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.*;
-import static org.mockito.Mockito.*;
import java.util.ArrayList;
import java.util.Collections;
@@ -42,7 +40,13 @@ import org.mockito.MockitoAnnotations;
import static org.apache.storm.kafka.spout.config.builder.SingleTopicKafkaSpoutConfiguration.createKafkaSpoutConfigBuilder;
-import org.mockito.stubbing.OngoingStubbing;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.anyObject;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
public class KafkaSpoutCommitTest {
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-kafka/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-kafka/pom.xml b/external/storm-kafka/pom.xml
index 14fd609..aa0454b 100644
--- a/external/storm-kafka/pom.xml
+++ b/external/storm-kafka/pom.xml
@@ -72,9 +72,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>1.9.0</version>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-kafka/src/jvm/org/apache/storm/kafka/bolt/KafkaBolt.java
----------------------------------------------------------------------
diff --git a/external/storm-kafka/src/jvm/org/apache/storm/kafka/bolt/KafkaBolt.java b/external/storm-kafka/src/jvm/org/apache/storm/kafka/bolt/KafkaBolt.java
index 5cb6129..a4c255a 100644
--- a/external/storm-kafka/src/jvm/org/apache/storm/kafka/bolt/KafkaBolt.java
+++ b/external/storm-kafka/src/jvm/org/apache/storm/kafka/bolt/KafkaBolt.java
@@ -76,7 +76,7 @@ public class KafkaBolt<K, V> extends BaseTickTupleAwareRichBolt {
private boolean async = true;
public KafkaBolt() {}
-
+
public KafkaBolt<K,V> withTupleToKafkaMapper(TupleToKafkaMapper<K,V> mapper) {
this.mapper = mapper;
return this;
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-kafka/src/test/org/apache/storm/kafka/bolt/KafkaBoltTest.java
----------------------------------------------------------------------
diff --git a/external/storm-kafka/src/test/org/apache/storm/kafka/bolt/KafkaBoltTest.java b/external/storm-kafka/src/test/org/apache/storm/kafka/bolt/KafkaBoltTest.java
index cebc261..5f3753d 100644
--- a/external/storm-kafka/src/test/org/apache/storm/kafka/bolt/KafkaBoltTest.java
+++ b/external/storm-kafka/src/test/org/apache/storm/kafka/bolt/KafkaBoltTest.java
@@ -44,7 +44,6 @@ import org.apache.kafka.clients.producer.ProducerRecord;
import org.junit.*;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import org.mockito.internal.util.reflection.Whitebox;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
import org.apache.storm.kafka.*;
@@ -60,6 +59,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.*;
+import java.lang.reflect.Field;
+
public class KafkaBoltTest {
private static final String TEST_TOPIC = "test-topic";
@@ -120,7 +121,7 @@ public class KafkaBoltTest {
/* test synchronous sending */
@Test
- public void executeWithByteArrayKeyAndMessageSync() {
+ public void executeWithByteArrayKeyAndMessageSync() throws Exception {
boolean async = false;
boolean fireAndForget = false;
bolt = generateDefaultSerializerBolt(async, fireAndForget, null);
@@ -136,7 +137,7 @@ public class KafkaBoltTest {
/* test asynchronous sending (default) */
@Test
- public void executeWithByteArrayKeyAndMessageAsync() {
+ public void executeWithByteArrayKeyAndMessageAsync() throws Exception {
boolean async = true;
boolean fireAndForget = false;
String keyString = "test-key";
@@ -165,7 +166,7 @@ public class KafkaBoltTest {
/* test with fireAndForget option enabled */
@Test
- public void executeWithByteArrayKeyAndMessageFire() {
+ public void executeWithByteArrayKeyAndMessageFire() throws Exception {
boolean async = true;
boolean fireAndForget = true;
bolt = generateDefaultSerializerBolt(async, fireAndForget, null);
@@ -216,7 +217,7 @@ public class KafkaBoltTest {
}
private KafkaBolt generateDefaultSerializerBolt(boolean async, boolean fireAndForget,
- KafkaProducer<?, ?> mockProducer) {
+ KafkaProducer<?, ?> mockProducer) throws Exception {
Properties props = new Properties();
props.put("acks", "1");
props.put("bootstrap.servers", broker.getBrokerConnectionString());
@@ -229,7 +230,9 @@ public class KafkaBoltTest {
bolt.setAsync(async);
bolt.setFireAndForget(fireAndForget);
if (mockProducer != null) {
- Whitebox.setInternalState(bolt, "producer", mockProducer);
+ Field producerField = bolt.getClass().getDeclaredField("producer");
+ producerField.setAccessible(true);
+ producerField.set(bolt, mockProducer);
}
return bolt;
}
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-mongodb/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-mongodb/pom.xml b/external/storm-mongodb/pom.xml
index 886d213..b374957 100644
--- a/external/storm-mongodb/pom.xml
+++ b/external/storm-mongodb/pom.xml
@@ -63,8 +63,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-opentsdb/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-opentsdb/pom.xml b/external/storm-opentsdb/pom.xml
index f99c6dc..0f9e0c8 100644
--- a/external/storm-opentsdb/pom.xml
+++ b/external/storm-opentsdb/pom.xml
@@ -90,8 +90,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/external/storm-redis/pom.xml
----------------------------------------------------------------------
diff --git a/external/storm-redis/pom.xml b/external/storm-redis/pom.xml
index 1023efd..9abf9ab 100644
--- a/external/storm-redis/pom.xml
+++ b/external/storm-redis/pom.xml
@@ -79,8 +79,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index bf6bf1c..85d575f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -270,7 +270,7 @@
<metrics.version>3.1.0</metrics.version>
<clojure.tools.nrepl.version>0.2.3</clojure.tools.nrepl.version>
<clojure-complete.version>0.2.3</clojure-complete.version>
- <mockito.version>1.9.5</mockito.version>
+ <mockito.version>2.10.0</mockito.version>
<conjure.version>2.1.3</conjure.version>
<zookeeper.version>3.4.6</zookeeper.version>
<clojure-data-codec.version>0.1.0</clojure-data-codec.version>
@@ -286,7 +286,7 @@
<junit.version>4.11</junit.version>
<metrics-clojure.version>2.5.1</metrics-clojure.version>
<hdrhistogram.version>2.1.7</hdrhistogram.version>
- <hamcrest.version>1.3</hamcrest.version>
+ <hamcrest.version>2.0.0.0</hamcrest.version>
<cassandra.version>2.1.7</cassandra.version>
<druid.version>0.8.2</druid.version>
<elasticsearch.version>5.2.2</elasticsearch.version>
@@ -990,23 +990,11 @@
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-core</artifactId>
+ <artifactId>java-hamcrest</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
- <groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <version>${hamcrest.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <version>${mockito.version}</version>
- <scope>test</scope>
- </dependency>
- <dependency>
<groupId>org.clojars.runa</groupId>
<artifactId>conjure</artifactId>
<version>${conjure.version}</version>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-core/pom.xml
----------------------------------------------------------------------
diff --git a/sql/storm-sql-core/pom.xml b/sql/storm-sql-core/pom.xml
index 8b3035c..1723a5f 100644
--- a/sql/storm-sql-core/pom.xml
+++ b/sql/storm-sql-core/pom.xml
@@ -93,8 +93,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-hdfs/pom.xml
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-hdfs/pom.xml b/sql/storm-sql-external/storm-sql-hdfs/pom.xml
index 1574ed2..4259951 100644
--- a/sql/storm-sql-external/storm-sql-hdfs/pom.xml
+++ b/sql/storm-sql-external/storm-sql-hdfs/pom.xml
@@ -88,8 +88,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-hdfs/src/test/org/apache/storm/sql/hdfs/TestHdfsDataSourcesProvider.java
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-hdfs/src/test/org/apache/storm/sql/hdfs/TestHdfsDataSourcesProvider.java b/sql/storm-sql-external/storm-sql-hdfs/src/test/org/apache/storm/sql/hdfs/TestHdfsDataSourcesProvider.java
index 1473438..32e35d5 100644
--- a/sql/storm-sql-external/storm-sql-hdfs/src/test/org/apache/storm/sql/hdfs/TestHdfsDataSourcesProvider.java
+++ b/sql/storm-sql-external/storm-sql-hdfs/src/test/org/apache/storm/sql/hdfs/TestHdfsDataSourcesProvider.java
@@ -34,7 +34,6 @@ import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
import java.io.File;
import java.io.IOException;
@@ -49,81 +48,86 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
+import java.lang.reflect.Field;
+
public class TestHdfsDataSourcesProvider {
- private static final List<FieldInfo> FIELDS = ImmutableList.of(
- new FieldInfo("ID", int.class, true),
- new FieldInfo("val", String.class, false));
- private static final Properties TBL_PROPERTIES = new Properties();
-
- private static String hdfsURI;
- private static MiniDFSCluster hdfsCluster;
-
- static {
- TBL_PROPERTIES.put("hdfs.file.path", "/unittest");
- TBL_PROPERTIES.put("hdfs.file.name", "test1.txt");
- TBL_PROPERTIES.put("hdfs.rotation.time.seconds", "120");
- }
-
- @Before
- public void setup() throws Exception {
- Configuration conf = new Configuration();
- conf.set("fs.trash.interval", "10");
- conf.setBoolean("dfs.permissions", true);
- File baseDir = new File("./target/hdfs/").getAbsoluteFile();
- FileUtil.fullyDelete(baseDir);
- conf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, baseDir.getAbsolutePath());
-
- MiniDFSCluster.Builder builder = new MiniDFSCluster.Builder(conf);
- hdfsCluster = builder.build();
- hdfsURI = "hdfs://localhost:" + hdfsCluster.getNameNodePort() + "/";
- }
-
- @After
- public void shutDown() throws IOException {
- hdfsCluster.shutdown();
- }
-
- @SuppressWarnings("unchecked")
- @Test
- public void testHdfsSink() {
- ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
+
+ private static final List<FieldInfo> FIELDS = ImmutableList.of(
+ new FieldInfo("ID", int.class, true),
+ new FieldInfo("val", String.class, false));
+ private static final Properties TBL_PROPERTIES = new Properties();
+
+ private static String hdfsURI;
+ private static MiniDFSCluster hdfsCluster;
+
+ static {
+ TBL_PROPERTIES.put("hdfs.file.path", "/unittest");
+ TBL_PROPERTIES.put("hdfs.file.name", "test1.txt");
+ TBL_PROPERTIES.put("hdfs.rotation.time.seconds", "120");
+ }
+
+ @Before
+ public void setup() throws Exception {
+ Configuration conf = new Configuration();
+ conf.set("fs.trash.interval", "10");
+ conf.setBoolean("dfs.permissions", true);
+ File baseDir = new File("./target/hdfs/").getAbsoluteFile();
+ FileUtil.fullyDelete(baseDir);
+ conf.set(MiniDFSCluster.HDFS_MINIDFS_BASEDIR, baseDir.getAbsolutePath());
+
+ MiniDFSCluster.Builder builder = new MiniDFSCluster.Builder(conf);
+ hdfsCluster = builder.build();
+ hdfsURI = "hdfs://localhost:" + hdfsCluster.getNameNodePort() + "/";
+ }
+
+ @After
+ public void shutDown() throws IOException {
+ hdfsCluster.shutdown();
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testHdfsSink() throws Exception {
+ ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
URI.create(hdfsURI), null, null, TBL_PROPERTIES, FIELDS);
- Assert.assertNotNull(ds);
+ Assert.assertNotNull(ds);
+
+ ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
- ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
+ Assert.assertEquals(HdfsStateFactory.class, consumer.getStateFactory().getClass());
+ Assert.assertEquals(HdfsUpdater.class, consumer.getStateUpdater().getClass());
- Assert.assertEquals(HdfsStateFactory.class, consumer.getStateFactory().getClass());
- Assert.assertEquals(HdfsUpdater.class, consumer.getStateUpdater().getClass());
+ HdfsState state = (HdfsState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
+ StateUpdater stateUpdater = consumer.getStateUpdater();
- HdfsState state = (HdfsState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
- StateUpdater stateUpdater = consumer.getStateUpdater();
+ HdfsFileOptions options = mock(HdfsFileOptions.class);
+ Field optionsField = state.getClass().getDeclaredField("options");
+ optionsField.setAccessible(true);
+ optionsField.set(state, options);
- HdfsFileOptions options = mock(HdfsFileOptions.class);
- Whitebox.setInternalState(state, "options", options);
+ List<TridentTuple> tupleList = mockTupleList();
- List<TridentTuple> tupleList = mockTupleList();
+ for (TridentTuple t : tupleList) {
+ stateUpdater.updateState(state, Collections.singletonList(t), null);
+ try {
+ verify(options).execute(Collections.singletonList(t));
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ }
- for (TridentTuple t : tupleList) {
- stateUpdater.updateState(state, Collections.singletonList(t), null);
- try {
- verify(options).execute(Collections.singletonList(t));
- } catch (IOException e) {
- throw new RuntimeException(e);
- }
+ private static List<TridentTuple> mockTupleList() {
+ List<TridentTuple> tupleList = new ArrayList<>();
+ TridentTuple t0 = mock(TridentTuple.class);
+ TridentTuple t1 = mock(TridentTuple.class);
+ doReturn(1).when(t0).get(0);
+ doReturn(2).when(t1).get(0);
+ doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
+ doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
+ tupleList.add(t0);
+ tupleList.add(t1);
+ return tupleList;
}
- }
-
- private static List<TridentTuple> mockTupleList() {
- List<TridentTuple> tupleList = new ArrayList<>();
- TridentTuple t0 = mock(TridentTuple.class);
- TridentTuple t1 = mock(TridentTuple.class);
- doReturn(1).when(t0).get(0);
- doReturn(2).when(t1).get(0);
- doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
- doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
- tupleList.add(t0);
- tupleList.add(t1);
- return tupleList;
- }
}
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-kafka/pom.xml
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-kafka/pom.xml b/sql/storm-sql-external/storm-sql-kafka/pom.xml
index 5645da3..97bd87c 100644
--- a/sql/storm-sql-external/storm-sql-kafka/pom.xml
+++ b/sql/storm-sql-external/storm-sql-kafka/pom.xml
@@ -77,8 +77,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-kafka/src/test/org/apache/storm/sql/kafka/TestKafkaDataSourcesProvider.java
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-kafka/src/test/org/apache/storm/sql/kafka/TestKafkaDataSourcesProvider.java b/sql/storm-sql-external/storm-sql-kafka/src/test/org/apache/storm/sql/kafka/TestKafkaDataSourcesProvider.java
index 0cde492..c8fb768 100644
--- a/sql/storm-sql-external/storm-sql-kafka/src/test/org/apache/storm/sql/kafka/TestKafkaDataSourcesProvider.java
+++ b/sql/storm-sql-external/storm-sql-kafka/src/test/org/apache/storm/sql/kafka/TestKafkaDataSourcesProvider.java
@@ -32,7 +32,6 @@ import org.apache.storm.trident.tuple.TridentTuple;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.ArgumentMatcher;
-import org.mockito.internal.util.reflection.Whitebox;
import java.net.URI;
import java.nio.ByteBuffer;
@@ -46,80 +45,85 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
+import java.lang.reflect.Field;
+
public class TestKafkaDataSourcesProvider {
- private static final List<FieldInfo> FIELDS = ImmutableList.of(
- new FieldInfo("ID", int.class, true),
- new FieldInfo("val", String.class, false));
- private static final List<String> FIELD_NAMES = ImmutableList.of("ID", "val");
- private static final JsonSerializer SERIALIZER = new JsonSerializer(FIELD_NAMES);
- private static final Properties TBL_PROPERTIES = new Properties();
-
- static {
- Map<String,Object> map = new HashMap<>();
- map.put("bootstrap.servers", "localhost:9092");
- map.put("acks", "1");
- map.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
- map.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
- TBL_PROPERTIES.put("producer", map);
- }
-
- @SuppressWarnings("unchecked")
- @Test
- public void testKafkaSink() {
- ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
+
+ private static final List<FieldInfo> FIELDS = ImmutableList.of(
+ new FieldInfo("ID", int.class, true),
+ new FieldInfo("val", String.class, false));
+ private static final List<String> FIELD_NAMES = ImmutableList.of("ID", "val");
+ private static final JsonSerializer SERIALIZER = new JsonSerializer(FIELD_NAMES);
+ private static final Properties TBL_PROPERTIES = new Properties();
+
+ static {
+ Map<String, Object> map = new HashMap<>();
+ map.put("bootstrap.servers", "localhost:9092");
+ map.put("acks", "1");
+ map.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
+ map.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
+ TBL_PROPERTIES.put("producer", map);
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testKafkaSink() throws Exception {
+ ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
URI.create("kafka://mock?topic=foo"), null, null, TBL_PROPERTIES, FIELDS);
- Assert.assertNotNull(ds);
+ Assert.assertNotNull(ds);
- ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
+ ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
- Assert.assertEquals(TridentKafkaStateFactory.class, consumer.getStateFactory().getClass());
- Assert.assertEquals(TridentKafkaUpdater.class, consumer.getStateUpdater().getClass());
+ Assert.assertEquals(TridentKafkaStateFactory.class, consumer.getStateFactory().getClass());
+ Assert.assertEquals(TridentKafkaUpdater.class, consumer.getStateUpdater().getClass());
- TridentKafkaState state = (TridentKafkaState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
- KafkaProducer producer = mock(KafkaProducer.class);
- doReturn(mock(Future.class)).when(producer).send(any(ProducerRecord.class));
- Whitebox.setInternalState(state, "producer", producer);
+ TridentKafkaState state = (TridentKafkaState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
+ KafkaProducer producer = mock(KafkaProducer.class);
+ doReturn(mock(Future.class)).when(producer).send(any(ProducerRecord.class));
+ Field producerField = state.getClass().getDeclaredField("producer");
+ producerField.setAccessible(true);
+ producerField.set(state, producer);
- List<TridentTuple> tupleList = mockTupleList();
- for (TridentTuple t : tupleList) {
- state.updateState(Collections.singletonList(t), null);
- verify(producer).send(argThat(new KafkaMessageMatcher(t)));
+ List<TridentTuple> tupleList = mockTupleList();
+ for (TridentTuple t : tupleList) {
+ state.updateState(Collections.singletonList(t), null);
+ verify(producer).send(argThat(new KafkaMessageMatcher(t)));
+ }
+ verifyNoMoreInteractions(producer);
}
- verifyNoMoreInteractions(producer);
- }
-
- private static List<TridentTuple> mockTupleList() {
- List<TridentTuple> tupleList = new ArrayList<>();
- TridentTuple t0 = mock(TridentTuple.class);
- TridentTuple t1 = mock(TridentTuple.class);
- doReturn(1).when(t0).get(0);
- doReturn(2).when(t1).get(0);
- doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
- doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
- tupleList.add(t0);
- tupleList.add(t1);
- return tupleList;
- }
-
- private static class KafkaMessageMatcher extends ArgumentMatcher<ProducerRecord> {
- private static final int PRIMARY_INDEX = 0;
- private final TridentTuple tuple;
-
- private KafkaMessageMatcher(TridentTuple tuple) {
- this.tuple = tuple;
+
+ private static List<TridentTuple> mockTupleList() {
+ List<TridentTuple> tupleList = new ArrayList<>();
+ TridentTuple t0 = mock(TridentTuple.class);
+ TridentTuple t1 = mock(TridentTuple.class);
+ doReturn(1).when(t0).get(0);
+ doReturn(2).when(t1).get(0);
+ doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
+ doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
+ tupleList.add(t0);
+ tupleList.add(t1);
+ return tupleList;
}
- @SuppressWarnings("unchecked")
- @Override
- public boolean matches(Object o) {
- ProducerRecord<Object, ByteBuffer> m = (ProducerRecord<Object,ByteBuffer>)o;
- if (m.key() != tuple.get(PRIMARY_INDEX)) {
- return false;
- }
- ByteBuffer buf = m.value();
- ByteBuffer b = SERIALIZER.write(tuple.getValues(), null);
- return b.equals(buf);
+ private static class KafkaMessageMatcher implements ArgumentMatcher<ProducerRecord<Object, ByteBuffer>> {
+
+ private static final int PRIMARY_INDEX = 0;
+ private final TridentTuple tuple;
+
+ private KafkaMessageMatcher(TridentTuple tuple) {
+ this.tuple = tuple;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean matches(ProducerRecord<Object, ByteBuffer> record) {
+ if (record.key() != tuple.get(PRIMARY_INDEX)) {
+ return false;
+ }
+ ByteBuffer buf = record.value();
+ ByteBuffer b = SERIALIZER.write(tuple.getValues(), null);
+ return b.equals(buf);
+ }
}
- }
}
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-mongodb/pom.xml
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-mongodb/pom.xml b/sql/storm-sql-external/storm-sql-mongodb/pom.xml
index 82a7036..8bd5651 100644
--- a/sql/storm-sql-external/storm-sql-mongodb/pom.xml
+++ b/sql/storm-sql-external/storm-sql-mongodb/pom.xml
@@ -68,8 +68,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java b/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java
index 429f386..4fcc6d0 100644
--- a/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java
+++ b/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java
@@ -33,7 +33,6 @@ import org.bson.Document;
import org.junit.Assert;
import org.junit.Test;
import org.mockito.ArgumentMatcher;
-import org.mockito.internal.util.reflection.Whitebox;
import java.net.URI;
import java.nio.ByteBuffer;
@@ -49,74 +48,80 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.verifyNoMoreInteractions;
+import java.lang.reflect.Field;
+
public class TestMongoDataSourcesProvider {
- private static final List<FieldInfo> FIELDS = ImmutableList.of(
- new FieldInfo("ID", int.class, true),
- new FieldInfo("val", String.class, false));
- private static final List<String> FIELD_NAMES = ImmutableList.of("ID", "val");
- private static final JsonSerializer SERIALIZER = new JsonSerializer(FIELD_NAMES);
- private static final Properties TBL_PROPERTIES = new Properties();
-
- static {
- TBL_PROPERTIES.put("collection.name", "collection1");
- TBL_PROPERTIES.put("trident.ser.field", "tridentSerField");
- }
-
- @SuppressWarnings("unchecked")
- @Test
- public void testMongoSink() {
- ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
+
+ private static final List<FieldInfo> FIELDS = ImmutableList.of(
+ new FieldInfo("ID", int.class, true),
+ new FieldInfo("val", String.class, false));
+ private static final List<String> FIELD_NAMES = ImmutableList.of("ID", "val");
+ private static final JsonSerializer SERIALIZER = new JsonSerializer(FIELD_NAMES);
+ private static final Properties TBL_PROPERTIES = new Properties();
+
+ static {
+ TBL_PROPERTIES.put("collection.name", "collection1");
+ TBL_PROPERTIES.put("trident.ser.field", "tridentSerField");
+ }
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testMongoSink() throws Exception {
+ ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
URI.create("mongodb://127.0.0.1:27017/test"), null, null, TBL_PROPERTIES, FIELDS);
- Assert.assertNotNull(ds);
+ Assert.assertNotNull(ds);
- ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
+ ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
- Assert.assertEquals(MongoStateFactory.class, consumer.getStateFactory().getClass());
- Assert.assertEquals(MongoStateUpdater.class, consumer.getStateUpdater().getClass());
+ Assert.assertEquals(MongoStateFactory.class, consumer.getStateFactory().getClass());
+ Assert.assertEquals(MongoStateUpdater.class, consumer.getStateUpdater().getClass());
- MongoState state = (MongoState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
- StateUpdater stateUpdater = consumer.getStateUpdater();
+ MongoState state = (MongoState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
+ StateUpdater stateUpdater = consumer.getStateUpdater();
- MongoDbClient mongoClient = mock(MongoDbClient.class);
- Whitebox.setInternalState(state, "mongoClient", mongoClient);
+ MongoDbClient mongoClient = mock(MongoDbClient.class);
+ Field clientField = state.getClass().getDeclaredField("mongoClient");
+ clientField.setAccessible(true);
+ clientField.set(state, mongoClient);
- List<TridentTuple> tupleList = mockTupleList();
+ List<TridentTuple> tupleList = mockTupleList();
- for (TridentTuple t : tupleList) {
- stateUpdater.updateState(state, Collections.singletonList(t), null);
- verify(mongoClient).insert(argThat(new MongoArgMatcher(t)) , eq(true));
+ for (TridentTuple t : tupleList) {
+ stateUpdater.updateState(state, Collections.singletonList(t), null);
+ verify(mongoClient).insert(argThat(new MongoArgMatcher(t)), eq(true));
+ }
+
+ verifyNoMoreInteractions(mongoClient);
}
- verifyNoMoreInteractions(mongoClient);
- }
-
- private static List<TridentTuple> mockTupleList() {
- List<TridentTuple> tupleList = new ArrayList<>();
- TridentTuple t0 = mock(TridentTuple.class);
- TridentTuple t1 = mock(TridentTuple.class);
- doReturn(1).when(t0).get(0);
- doReturn(2).when(t1).get(0);
- doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
- doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
- tupleList.add(t0);
- tupleList.add(t1);
- return tupleList;
- }
-
- private static class MongoArgMatcher extends ArgumentMatcher<List<Document>> {
- private final TridentTuple tuple;
-
- private MongoArgMatcher(TridentTuple tuple) {
- this.tuple = tuple;
+ private static List<TridentTuple> mockTupleList() {
+ List<TridentTuple> tupleList = new ArrayList<>();
+ TridentTuple t0 = mock(TridentTuple.class);
+ TridentTuple t1 = mock(TridentTuple.class);
+ doReturn(1).when(t0).get(0);
+ doReturn(2).when(t1).get(0);
+ doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
+ doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
+ tupleList.add(t0);
+ tupleList.add(t1);
+ return tupleList;
}
- @SuppressWarnings("unchecked")
- @Override
- public boolean matches(Object o) {
- Document doc = ((List<Document>)o).get(0);
- ByteBuffer buf = ByteBuffer.wrap((byte[])doc.get(TBL_PROPERTIES.getProperty("trident.ser.field")));
- ByteBuffer b = SERIALIZER.write(tuple.getValues(), null);
- return b.equals(buf);
+ private static class MongoArgMatcher implements ArgumentMatcher<List<Document>> {
+
+ private final TridentTuple tuple;
+
+ private MongoArgMatcher(TridentTuple tuple) {
+ this.tuple = tuple;
+ }
+
+ @SuppressWarnings("unchecked")
+ @Override
+ public boolean matches(List<Document> docs) {
+ Document doc = docs.get(0);
+ ByteBuffer buf = ByteBuffer.wrap((byte[]) doc.get(TBL_PROPERTIES.getProperty("trident.ser.field")));
+ ByteBuffer b = SERIALIZER.write(tuple.getValues(), null);
+ return b.equals(buf);
+ }
}
- }
}
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-redis/pom.xml
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-redis/pom.xml b/sql/storm-sql-external/storm-sql-redis/pom.xml
index 82aa13b..4627450 100644
--- a/sql/storm-sql-external/storm-sql-redis/pom.xml
+++ b/sql/storm-sql-external/storm-sql-redis/pom.xml
@@ -60,8 +60,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
<build>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-external/storm-sql-redis/src/test/org/apache/storm/sql/redis/TestRedisDataSourcesProvider.java
----------------------------------------------------------------------
diff --git a/sql/storm-sql-external/storm-sql-redis/src/test/org/apache/storm/sql/redis/TestRedisDataSourcesProvider.java b/sql/storm-sql-external/storm-sql-redis/src/test/org/apache/storm/sql/redis/TestRedisDataSourcesProvider.java
index 94d4949..56df0e3 100644
--- a/sql/storm-sql-external/storm-sql-redis/src/test/org/apache/storm/sql/redis/TestRedisDataSourcesProvider.java
+++ b/sql/storm-sql-external/storm-sql-redis/src/test/org/apache/storm/sql/redis/TestRedisDataSourcesProvider.java
@@ -31,7 +31,6 @@ import org.apache.storm.trident.state.StateUpdater;
import org.apache.storm.trident.tuple.TridentTuple;
import org.junit.Assert;
import org.junit.Test;
-import org.mockito.internal.util.reflection.Whitebox;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPool;
@@ -51,108 +50,115 @@ import static org.mockito.Mockito.never;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import java.lang.reflect.Field;
+
public class TestRedisDataSourcesProvider {
- private static final List<FieldInfo> FIELDS = ImmutableList.of(
- new FieldInfo("ID", int.class, true),
- new FieldInfo("val", String.class, false));
- private static final List<String> FIELD_NAMES = ImmutableList.of("ID", "val");
- private static final String ADDITIONAL_KEY = "hello";
- private static final JsonSerializer SERIALIZER = new JsonSerializer(FIELD_NAMES);
- private static final Properties TBL_PROPERTIES = new Properties();
- private static final Properties CLUSTER_TBL_PROPERTIES = new Properties();
-
- static {
- TBL_PROPERTIES.put("data.type", "HASH");
- TBL_PROPERTIES.put("data.additional.key", ADDITIONAL_KEY);
- CLUSTER_TBL_PROPERTIES.put("data.type", "HASH");
- CLUSTER_TBL_PROPERTIES.put("data.additional.key", ADDITIONAL_KEY);
- CLUSTER_TBL_PROPERTIES.put("use.redis.cluster", "true");
- }
-
- @SuppressWarnings("unchecked")
- @Test
- public void testRedisSink() {
- ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
- URI.create("redis://:foobared@localhost:6380/2"), null, null, TBL_PROPERTIES, FIELDS);
- Assert.assertNotNull(ds);
-
- ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
-
- Assert.assertEquals(RedisState.Factory.class, consumer.getStateFactory().getClass());
- Assert.assertEquals(RedisStateUpdater.class, consumer.getStateUpdater().getClass());
-
- RedisState state = (RedisState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
- StateUpdater stateUpdater = consumer.getStateUpdater();
-
- JedisPool mockJedisPool = mock(JedisPool.class);
- Jedis mockJedis = mock(Jedis.class);
- Pipeline mockPipeline = mock(Pipeline.class);
-
- Whitebox.setInternalState(state, "jedisPool", mockJedisPool);
- when(mockJedisPool.getResource()).thenReturn(mockJedis);
- when(mockJedis.pipelined()).thenReturn(mockPipeline);
-
- List<TridentTuple> tupleList = mockTupleList();
-
- stateUpdater.updateState(state, tupleList, null);
- for (TridentTuple t : tupleList) {
- // PK goes to the key
- String id = String.valueOf(t.getValueByField("ID"));
- String serializedValue = new String(SERIALIZER.write(t.getValues(), null).array());
- verify(mockPipeline).hset(eq(ADDITIONAL_KEY), eq(id), eq(serializedValue));
+
+ private static final List<FieldInfo> FIELDS = ImmutableList.of(
+ new FieldInfo("ID", int.class, true),
+ new FieldInfo("val", String.class, false));
+ private static final List<String> FIELD_NAMES = ImmutableList.of("ID", "val");
+ private static final String ADDITIONAL_KEY = "hello";
+ private static final JsonSerializer SERIALIZER = new JsonSerializer(FIELD_NAMES);
+ private static final Properties TBL_PROPERTIES = new Properties();
+ private static final Properties CLUSTER_TBL_PROPERTIES = new Properties();
+
+ static {
+ TBL_PROPERTIES.put("data.type", "HASH");
+ TBL_PROPERTIES.put("data.additional.key", ADDITIONAL_KEY);
+ CLUSTER_TBL_PROPERTIES.put("data.type", "HASH");
+ CLUSTER_TBL_PROPERTIES.put("data.additional.key", ADDITIONAL_KEY);
+ CLUSTER_TBL_PROPERTIES.put("use.redis.cluster", "true");
}
- verify(mockPipeline).sync();
- verify(mockJedis).close();
- }
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testRedisSink() throws Exception {
+ ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
+ URI.create("redis://:foobared@localhost:6380/2"), null, null, TBL_PROPERTIES, FIELDS);
+ Assert.assertNotNull(ds);
- @SuppressWarnings("unchecked")
- @Test
- public void testRedisClusterSink() throws IOException {
- ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
- URI.create("redis://localhost:6380"), null, null, CLUSTER_TBL_PROPERTIES, FIELDS);
- Assert.assertNotNull(ds);
+ ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
- ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
+ Assert.assertEquals(RedisState.Factory.class, consumer.getStateFactory().getClass());
+ Assert.assertEquals(RedisStateUpdater.class, consumer.getStateUpdater().getClass());
- Assert.assertEquals(RedisClusterState.Factory.class, consumer.getStateFactory().getClass());
- Assert.assertEquals(RedisClusterStateUpdater.class, consumer.getStateUpdater().getClass());
+ RedisState state = (RedisState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
+ StateUpdater stateUpdater = consumer.getStateUpdater();
- RedisClusterState state = (RedisClusterState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
- StateUpdater stateUpdater = consumer.getStateUpdater();
+ JedisPool mockJedisPool = mock(JedisPool.class);
+ Jedis mockJedis = mock(Jedis.class);
+ Pipeline mockPipeline = mock(Pipeline.class);
- JedisCluster mockJedisCluster = mock(JedisCluster.class);
+ Field jedisPoolField = state.getClass().getDeclaredField("jedisPool");
+ jedisPoolField.setAccessible(true);
+ jedisPoolField.set(state, mockJedisPool);
+ when(mockJedisPool.getResource()).thenReturn(mockJedis);
+ when(mockJedis.pipelined()).thenReturn(mockPipeline);
- Whitebox.setInternalState(state, "jedisCluster", mockJedisCluster);
+ List<TridentTuple> tupleList = mockTupleList();
- List<TridentTuple> tupleList = mockTupleList();
+ stateUpdater.updateState(state, tupleList, null);
+ for (TridentTuple t : tupleList) {
+ // PK goes to the key
+ String id = String.valueOf(t.getValueByField("ID"));
+ String serializedValue = new String(SERIALIZER.write(t.getValues(), null).array());
+ verify(mockPipeline).hset(eq(ADDITIONAL_KEY), eq(id), eq(serializedValue));
+ }
- stateUpdater.updateState(state, tupleList, null);
- for (TridentTuple t : tupleList) {
- // PK goes to the key
- String id = String.valueOf(t.getValueByField("ID"));
- String serializedValue = new String(SERIALIZER.write(t.getValues(), null).array());
- verify(mockJedisCluster).hset(eq(ADDITIONAL_KEY), eq(id), eq(serializedValue));
+ verify(mockPipeline).sync();
+ verify(mockJedis).close();
}
- verify(mockJedisCluster, never()).close();
- }
-
- private static List<TridentTuple> mockTupleList() {
- List<TridentTuple> tupleList = new ArrayList<>();
- TridentTuple t0 = mock(TridentTuple.class);
- TridentTuple t1 = mock(TridentTuple.class);
- when(t0.getValueByField("ID")).thenReturn(1);
- when(t0.getValueByField("val")).thenReturn("2");
- doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
-
- when(t1.getValueByField("ID")).thenReturn(2);
- when(t1.getValueByField("val")).thenReturn("3");
- doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
-
- tupleList.add(t0);
- tupleList.add(t1);
- return tupleList;
- }
+ @SuppressWarnings("unchecked")
+ @Test
+ public void testRedisClusterSink() throws Exception {
+ ISqlTridentDataSource ds = DataSourcesRegistry.constructTridentDataSource(
+ URI.create("redis://localhost:6380"), null, null, CLUSTER_TBL_PROPERTIES, FIELDS);
+ Assert.assertNotNull(ds);
+
+ ISqlTridentDataSource.SqlTridentConsumer consumer = ds.getConsumer();
+
+ Assert.assertEquals(RedisClusterState.Factory.class, consumer.getStateFactory().getClass());
+ Assert.assertEquals(RedisClusterStateUpdater.class, consumer.getStateUpdater().getClass());
+
+ RedisClusterState state = (RedisClusterState) consumer.getStateFactory().makeState(Collections.emptyMap(), null, 0, 1);
+ StateUpdater stateUpdater = consumer.getStateUpdater();
+
+ JedisCluster mockJedisCluster = mock(JedisCluster.class);
+
+ Field jedisClusterField = state.getClass().getDeclaredField("jedisCluster");
+ jedisClusterField.setAccessible(true);
+ jedisClusterField.set(state, mockJedisCluster);
+
+ List<TridentTuple> tupleList = mockTupleList();
+
+ stateUpdater.updateState(state, tupleList, null);
+ for (TridentTuple t : tupleList) {
+ // PK goes to the key
+ String id = String.valueOf(t.getValueByField("ID"));
+ String serializedValue = new String(SERIALIZER.write(t.getValues(), null).array());
+ verify(mockJedisCluster).hset(eq(ADDITIONAL_KEY), eq(id), eq(serializedValue));
+ }
+
+ verify(mockJedisCluster, never()).close();
+ }
+
+ private static List<TridentTuple> mockTupleList() {
+ List<TridentTuple> tupleList = new ArrayList<>();
+ TridentTuple t0 = mock(TridentTuple.class);
+ TridentTuple t1 = mock(TridentTuple.class);
+ when(t0.getValueByField("ID")).thenReturn(1);
+ when(t0.getValueByField("val")).thenReturn("2");
+ doReturn(Lists.<Object>newArrayList(1, "2")).when(t0).getValues();
+
+ when(t1.getValueByField("ID")).thenReturn(2);
+ when(t1.getValueByField("val")).thenReturn("3");
+ doReturn(Lists.<Object>newArrayList(2, "3")).when(t1).getValues();
+
+ tupleList.add(t0);
+ tupleList.add(t1);
+ return tupleList;
+ }
}
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/sql/storm-sql-runtime/pom.xml
----------------------------------------------------------------------
diff --git a/sql/storm-sql-runtime/pom.xml b/sql/storm-sql-runtime/pom.xml
index f9969b2..77e22a4 100644
--- a/sql/storm-sql-runtime/pom.xml
+++ b/sql/storm-sql-runtime/pom.xml
@@ -85,8 +85,11 @@
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-client/pom.xml
----------------------------------------------------------------------
diff --git a/storm-client/pom.xml b/storm-client/pom.xml
index 538b7b9..b37f458 100644
--- a/storm-client/pom.xml
+++ b/storm-client/pom.xml
@@ -177,23 +177,17 @@
<!-- end of transitive dependency management -->
<!-- test -->
- <!-- hamcrest-core dependency is shaded inside the mockito-all and junit depends on newer version of hamcrest-core.
- To give higher precedence to classes from newer version of hamcrest-core, Junit has been placed above mockito.
- -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
- <artifactId>hamcrest-library</artifactId>
- <scope>test</scope>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-client/test/jvm/org/apache/storm/grouping/PartialKeyGroupingTest.java
----------------------------------------------------------------------
diff --git a/storm-client/test/jvm/org/apache/storm/grouping/PartialKeyGroupingTest.java b/storm-client/test/jvm/org/apache/storm/grouping/PartialKeyGroupingTest.java
index 273a20a..0945062 100644
--- a/storm-client/test/jvm/org/apache/storm/grouping/PartialKeyGroupingTest.java
+++ b/storm-client/test/jvm/org/apache/storm/grouping/PartialKeyGroupingTest.java
@@ -53,7 +53,7 @@ public class PartialKeyGroupingTest {
PartialKeyGrouping pkg = new PartialKeyGrouping(new Fields("test"));
WorkerTopologyContext context = mock(WorkerTopologyContext.class);
when(context.getComponentOutputFields(any(GlobalStreamId.class))).thenReturn(new Fields("test"));
- pkg.prepare(context, null, Lists.newArrayList(0, 1, 2, 3, 4, 5));
+ pkg.prepare(context, mock(GlobalStreamId.class), Lists.newArrayList(0, 1, 2, 3, 4, 5));
Values message = new Values("key1");
List<Integer> choice1 = pkg.chooseTasks(0, message);
assertThat(choice1.size(), is(1));
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-client/test/jvm/org/apache/storm/topology/PersistentWindowedBoltExecutorTest.java
----------------------------------------------------------------------
diff --git a/storm-client/test/jvm/org/apache/storm/topology/PersistentWindowedBoltExecutorTest.java b/storm-client/test/jvm/org/apache/storm/topology/PersistentWindowedBoltExecutorTest.java
index d486487..db1cf9e 100644
--- a/storm-client/test/jvm/org/apache/storm/topology/PersistentWindowedBoltExecutorTest.java
+++ b/storm-client/test/jvm/org/apache/storm/topology/PersistentWindowedBoltExecutorTest.java
@@ -18,9 +18,12 @@
package org.apache.storm.topology;
+import static org.hamcrest.Matchers.contains;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.junit.Assert.assertThat;
+
import com.google.common.collect.ImmutableMap;
import org.apache.storm.Config;
-import org.apache.storm.generated.GlobalStreamId;
import org.apache.storm.state.KeyValueState;
import org.apache.storm.streams.Pair;
import org.apache.storm.task.OutputCollector;
@@ -41,13 +44,11 @@ import org.mockito.ArgumentCaptor;
import org.mockito.Captor;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.runners.MockitoJUnitRunner;
import org.mockito.stubbing.Answer;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Deque;
@@ -106,14 +107,12 @@ public class PersistentWindowedBoltExecutorTest {
@Before
public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
mockBolt = Mockito.mock(IStatefulWindowedBolt.class);
mockWaterMarkEventGenerator = Mockito.mock(WaterMarkEventGenerator.class);
mockTimestampExtractor = Mockito.mock(TimestampExtractor.class);
tupleTs = System.currentTimeMillis();
Mockito.when(mockTimestampExtractor.extractTimestamp(Mockito.any())).thenReturn(tupleTs);
Mockito.when(mockBolt.getTimestampExtractor()).thenReturn(mockTimestampExtractor);
- Mockito.when(mockBolt.isPersistent()).thenReturn(true);
mockTopologyContext = Mockito.mock(TopologyContext.class);
Mockito.when(mockTopologyContext.getThisStreams()).thenReturn(Collections.singleton(LATE_STREAM));
mockOutputCollector = Mockito.mock(OutputCollector.class);
@@ -126,7 +125,6 @@ public class PersistentWindowedBoltExecutorTest {
testStormConf.put(Config.TOPOLOGY_STATE_CHECKPOINT_INTERVAL, 1000);
Mockito.when(mockPartitionState.get(Mockito.any(), Mockito.any())).then(returnsArgAt(1));
Mockito.when(mockWindowState.get(Mockito.any(), Mockito.any())).then(returnsArgAt(1));
- Mockito.when(mockSystemState.get(Mockito.any(), Mockito.any())).then(returnsArgAt(1));
Mockito.when(mockSystemState.iterator()).thenReturn(
ImmutableMap.<String, Optional<?>>of("es", Optional.empty(), "ts", Optional.empty()).entrySet().iterator());
executor.prepare(testStormConf, mockTopologyContext, mockOutputCollector,
@@ -135,7 +133,7 @@ public class PersistentWindowedBoltExecutorTest {
@Test
public void testExecuteTuple() throws Exception {
- Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(GlobalStreamId.class), Mockito.anyLong())).thenReturn(true);
+ Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(true);
Tuple mockTuple = Mockito.mock(Tuple.class);
executor.initState(null);
executor.waterMarkEventGenerator = mockWaterMarkEventGenerator;
@@ -146,7 +144,7 @@ public class PersistentWindowedBoltExecutorTest {
@Test
public void testExecuteLatetuple() throws Exception {
- Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(GlobalStreamId.class), Mockito.anyLong())).thenReturn(false);
+ Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(false);
Tuple mockTuple = Mockito.mock(Tuple.class);
executor.initState(null);
executor.waterMarkEventGenerator = mockWaterMarkEventGenerator;
@@ -164,7 +162,7 @@ public class PersistentWindowedBoltExecutorTest {
@Test
public void testActivation() throws Exception {
- Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(GlobalStreamId.class), Mockito.anyLong())).thenReturn(true);
+ Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(true);
executor.initState(null);
executor.waterMarkEventGenerator = mockWaterMarkEventGenerator;
@@ -196,7 +194,7 @@ public class PersistentWindowedBoltExecutorTest {
Mockito.verify(mockPartitionState, Mockito.times(1)).put(pkCatptor.capture(), partitionValuesCaptor.capture());
Assert.assertEquals(PARTITION_KEY, pkCatptor.getValue());
List<Long> expectedPartitionIds = Collections.singletonList(0L);
- Assert.assertEquals(expectedPartitionIds, partitionValuesCaptor.getValue());
+ assertThat(partitionValuesCaptor.getValue(), contains(expectedPartitionIds.toArray(new Long[0])));
// window partitions
Mockito.verify(mockWindowState, Mockito.times(1)).put(longCaptor.capture(), windowValuesCaptor.capture());
@@ -217,7 +215,7 @@ public class PersistentWindowedBoltExecutorTest {
@Test
public void testCacheEviction() {
- Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(GlobalStreamId.class), Mockito.anyLong())).thenReturn(true);
+ Mockito.when(mockWaterMarkEventGenerator.track(Mockito.any(), Mockito.anyLong())).thenReturn(true);
executor.initState(null);
executor.waterMarkEventGenerator = mockWaterMarkEventGenerator;
int tupleCount = 20000;
@@ -237,14 +235,15 @@ public class PersistentWindowedBoltExecutorTest {
ArgumentCaptor<String> stringCaptor = ArgumentCaptor.forClass(String.class);
Mockito.verify(mockPartitionState, Mockito.times(numPartitions)).put(stringCaptor.capture(), partitionValuesCaptor.capture());
// partition ids 0 .. 19
- Assert.assertEquals(LongStream.range(0, numPartitions).boxed().collect(Collectors.toList()), partitionValuesCaptor.getAllValues().get(numPartitions-1));
+ Assert.assertThat(partitionValuesCaptor.getAllValues().get(numPartitions - 1),
+ contains(LongStream.range(0, numPartitions).boxed().collect(Collectors.toList()).toArray(new Long[0])));
Mockito.when(mockWindowState.get(Mockito.any(), Mockito.any())).then(new Answer<Object>() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
- Object[] args = invocation.getArguments();
- WindowState.WindowPartition<Tuple> evicted = partitionMap.get(args[0]);
- return evicted != null ? evicted : args[1];
+ Long partition = invocation.getArgument(0);
+ WindowState.WindowPartition<Tuple> evicted = partitionMap.get(partition);
+ return evicted != null ? evicted : invocation.getArgument(1);
}
});
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-client/test/jvm/org/apache/storm/topology/StatefulBoltExecutorTest.java
----------------------------------------------------------------------
diff --git a/storm-client/test/jvm/org/apache/storm/topology/StatefulBoltExecutorTest.java b/storm-client/test/jvm/org/apache/storm/topology/StatefulBoltExecutorTest.java
index 26b5594..3b4a64a 100644
--- a/storm-client/test/jvm/org/apache/storm/topology/StatefulBoltExecutorTest.java
+++ b/storm-client/test/jvm/org/apache/storm/topology/StatefulBoltExecutorTest.java
@@ -21,56 +21,47 @@ import org.apache.storm.generated.GlobalStreamId;
import org.apache.storm.generated.Grouping;
import org.apache.storm.spout.CheckpointSpout;
import org.apache.storm.state.KeyValueState;
-import org.apache.storm.state.State;
import org.apache.storm.task.OutputCollector;
import org.apache.storm.task.TopologyContext;
import org.apache.storm.tuple.Tuple;
-import org.apache.storm.topology.IStatefulBolt;
-import org.apache.storm.topology.StatefulBoltExecutor;
import org.junit.Before;
import org.junit.Test;
import org.mockito.Mockito;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Map;
-import java.util.Set;
import static org.apache.storm.spout.CheckPointState.Action.*;
import static org.apache.storm.spout.CheckpointSpout.*;
+import static org.mockito.Mockito.mock;
/**
* Unit tests for {@link StatefulBoltExecutor}
*/
public class StatefulBoltExecutorTest {
- StatefulBoltExecutor<KeyValueState<String, String>> executor;
- IStatefulBolt<KeyValueState<String, String>> mockBolt;
- TopologyContext mockTopologyContext;
- Tuple mockTuple;
- Tuple mockCheckpointTuple;
- Map<String, Object> mockStormConf = new HashMap<>();
- OutputCollector mockOutputCollector;
- State mockState;
- Map<GlobalStreamId, Grouping> mockGlobalStream;
- Set<GlobalStreamId> mockStreamIds;
+ private StatefulBoltExecutor<KeyValueState<String, String>> executor;
+ private IStatefulBolt<KeyValueState<String, String>> mockBolt;
+ private TopologyContext mockTopologyContext;
+ private Tuple mockTuple;
+ private Tuple mockCheckpointTuple;
+ private Map<String, Object> mockStormConf = new HashMap<>();
+ private OutputCollector mockOutputCollector;
+ private KeyValueState<String, String> mockState;
+
@Before
public void setUp() throws Exception {
mockBolt = Mockito.mock(IStatefulBolt.class);
executor = new StatefulBoltExecutor<>(mockBolt);
- GlobalStreamId mockGlobalStreamId = Mockito.mock(GlobalStreamId.class);
- Mockito.when(mockGlobalStreamId.get_streamId()).thenReturn(CheckpointSpout.CHECKPOINT_STREAM_ID);
- mockStreamIds = new HashSet<>();
- mockStreamIds.add(mockGlobalStreamId);
mockTopologyContext = Mockito.mock(TopologyContext.class);
mockOutputCollector = Mockito.mock(OutputCollector.class);
- mockGlobalStream = Mockito.mock(Map.class);
- mockState = Mockito.mock(State.class);
+ mockState = Mockito.mock(KeyValueState.class);
Mockito.when(mockTopologyContext.getThisComponentId()).thenReturn("test");
Mockito.when(mockTopologyContext.getThisTaskId()).thenReturn(1);
- Mockito.when(mockTopologyContext.getThisSources()).thenReturn(mockGlobalStream);
- Mockito.when(mockTopologyContext.getComponentTasks(Mockito.anyString())).thenReturn(Collections.singletonList(1));
- Mockito.when(mockGlobalStream.keySet()).thenReturn(mockStreamIds);
+ GlobalStreamId globalStreamId = new GlobalStreamId("test", CheckpointSpout.CHECKPOINT_STREAM_ID);
+ Map<GlobalStreamId, Grouping> thisSources = Collections.singletonMap(globalStreamId, mock(Grouping.class));
+ Mockito.when(mockTopologyContext.getThisSources()).thenReturn(thisSources);
+ Mockito.when(mockTopologyContext.getComponentTasks(Mockito.any())).thenReturn(Collections.singletonList(1));
mockTuple = Mockito.mock(Tuple.class);
mockCheckpointTuple = Mockito.mock(Tuple.class);
executor.prepare(mockStormConf, mockTopologyContext, mockOutputCollector, mockState);
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-client/test/jvm/org/apache/storm/windowing/persistence/WindowStateTest.java
----------------------------------------------------------------------
diff --git a/storm-client/test/jvm/org/apache/storm/windowing/persistence/WindowStateTest.java b/storm-client/test/jvm/org/apache/storm/windowing/persistence/WindowStateTest.java
index 587d874..1797caf 100644
--- a/storm-client/test/jvm/org/apache/storm/windowing/persistence/WindowStateTest.java
+++ b/storm-client/test/jvm/org/apache/storm/windowing/persistence/WindowStateTest.java
@@ -42,7 +42,6 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.function.Consumer;
import java.util.function.Supplier;
import static org.mockito.AdditionalAnswers.returnsArgAt;
@@ -66,11 +65,6 @@ public class WindowStateTest {
@Captor
private ArgumentCaptor<WindowState.WindowPartition<Integer>> windowValuesCaptor;
- @Before
- public void setUp() throws Exception {
- MockitoAnnotations.initMocks(this);
- }
-
@Test
public void testAdd() throws Exception {
Mockito.when(partitionIdsState.get(Mockito.any(), Mockito.any())).then(returnsArgAt(1));
@@ -125,8 +119,6 @@ public class WindowStateTest {
}
}).when(windowState).delete(Mockito.anyLong());
- Mockito.when(supplier.get()).thenReturn(Collections.emptyMap());
-
WindowState<Integer> ws = getWindowState(10 * WindowState.MAX_PARTITION_EVENTS);
long partitions = 15;
@@ -186,8 +178,6 @@ public class WindowStateTest {
}
}).when(windowState).put(Mockito.any(), Mockito.any());
- Mockito.when(supplier.get()).thenReturn(Collections.emptyMap());
-
WindowState<Integer> ws = getWindowState(10 * WindowState.MAX_PARTITION_EVENTS);
long partitions = 10;
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-core/pom.xml
----------------------------------------------------------------------
diff --git a/storm-core/pom.xml b/storm-core/pom.xml
index ad4972e..727631d 100644
--- a/storm-core/pom.xml
+++ b/storm-core/pom.xml
@@ -291,12 +291,14 @@
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-core/test/clj/org/apache/storm/cluster_test.clj
----------------------------------------------------------------------
diff --git a/storm-core/test/clj/org/apache/storm/cluster_test.clj b/storm-core/test/clj/org/apache/storm/cluster_test.clj
index b1cdd37..c6c87c1 100644
--- a/storm-core/test/clj/org/apache/storm/cluster_test.clj
+++ b/storm-core/test/clj/org/apache/storm/cluster_test.clj
@@ -353,7 +353,7 @@
curator-frameworke (reify CuratorFramework (^void close [this] nil))]
;; No need for when clauses because we just want to return nil
(with-open [_ (MockedClientZookeeper. zk-mock)]
- (. (Mockito/when (.mkClientImpl zk-mock (Mockito/anyMap) (Mockito/anyList) (Mockito/any) (Mockito/anyString) (Mockito/any) (Mockito/anyMap))) (thenReturn curator-frameworke))
+ (. (Mockito/when (.mkClientImpl zk-mock (Mockito/anyMap) (Mockito/any) (Mockito/any) (Mockito/anyString) (Mockito/any) (Mockito/any))) (thenReturn curator-frameworke))
(ClusterUtils/mkStateStorage {} nil nil (ClusterStateContext.))
(.mkdirsImpl (Mockito/verify zk-mock (Mockito/times 1)) (Mockito/any) (Mockito/anyString) (Mockito/eq nil))))
(let [distributed-state-storage (reify IStateStorage
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-core/test/clj/org/apache/storm/drpc_test.clj
----------------------------------------------------------------------
diff --git a/storm-core/test/clj/org/apache/storm/drpc_test.clj b/storm-core/test/clj/org/apache/storm/drpc_test.clj
index 67e18c1..c9b955a 100644
--- a/storm-core/test/clj/org/apache/storm/drpc_test.clj
+++ b/storm-core/test/clj/org/apache/storm/drpc_test.clj
@@ -28,7 +28,7 @@
(:import [org.apache.storm.generated DRPCExecutionException DRPCRequest])
(:import [java.util.concurrent ConcurrentLinkedQueue])
(:import [org.apache.storm Thrift])
- (:import [org.mockito ArgumentCaptor Mockito Matchers])
+ (:import [org.mockito ArgumentCaptor Mockito ArgumentMatchers])
(:use [org.apache.storm config])
(:use [org.apache.storm clojure])
(:use [conjure core]))
@@ -239,9 +239,9 @@
;; mock getServiceId s.t. DRPCSpout uses our handler
(. (Mockito/when (.getServiceId handler)) thenReturn service-id)
;; mock fetchRequest s.t. DRPCSpout has a request to process on nextTuple
- (. (Mockito/when (.fetchRequest handler (Matchers/anyString))) thenReturn (DRPCRequest. "square 2" "bar"))
+ (. (Mockito/when (.fetchRequest handler (ArgumentMatchers/anyString))) thenReturn (DRPCRequest. "square 2" "bar"))
;; mock failRequest s.t. DRPCSpout attempts retry on .fail
- (.failRequest (.when (Mockito/doThrow (DRPCExecutionException.)) handler) (Matchers/anyString))
+ (.failRequest (.when (Mockito/doThrow (into-array [(DRPCExecutionException.)])) handler) (ArgumentMatchers/anyString))
(let [spout (DRPCSpout. "test" handler)]
;; tell the spout to use the mock collector
@@ -253,7 +253,7 @@
(.fail spout (.getValue captor))
;; attempt 2 reconnects
(.reconnectClient (Mockito/verify handler (Mockito/times 2)))
- (.failRequest (Mockito/verify handler (Mockito/times 3)) (Matchers/anyString)))))
+ (.failRequest (Mockito/verify handler (Mockito/times 3)) (ArgumentMatchers/anyString)))))
(deftest test-drpc-stops-retrying-after-successful-reconnect
(let [handler (Mockito/mock DRPCInvocationsClient
@@ -267,10 +267,10 @@
;; mock getServiceId s.t. DRPCSpout uses our handler
(. (Mockito/when (.getServiceId handler)) thenReturn service-id)
;; mock fetchRequest s.t. DRPCSpout has a request to process on nextTuple
- (. (Mockito/when (.fetchRequest handler (Matchers/anyString))) thenReturn (DRPCRequest. "square 2" "bar"))
+ (. (Mockito/when (.fetchRequest handler (ArgumentMatchers/anyString))) thenReturn (DRPCRequest. "square 2" "bar"))
;; mock failRequest s.t. DRPCSpout attempts retry on .fail the first time only, but succeed the second time
(.failRequest (.when (.doNothing
- (Mockito/doThrow (DRPCExecutionException.))) handler) (Matchers/anyString))
+ (Mockito/doThrow (into-array [(DRPCExecutionException.)]))) handler) (ArgumentMatchers/anyString))
(let [spout (DRPCSpout. "test" handler)]
;; tell the spout to use the mock collector
@@ -282,4 +282,4 @@
(.fail spout (.getValue captor))
;; reconnect once after a failure
(.reconnectClient (Mockito/verify handler (Mockito/times 1)))
- (.failRequest (Mockito/verify handler (Mockito/times 2)) (Matchers/anyString)))))
+ (.failRequest (Mockito/verify handler (Mockito/times 2)) (ArgumentMatchers/anyString)))))
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-server/pom.xml
----------------------------------------------------------------------
diff --git a/storm-server/pom.xml b/storm-server/pom.xml
index 7449257..2e803d0 100644
--- a/storm-server/pom.xml
+++ b/storm-server/pom.xml
@@ -84,7 +84,11 @@
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
----------------------------------------------------------------------
diff --git a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
index 1e25e50..16f157d 100644
--- a/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
+++ b/storm-server/src/main/java/org/apache/storm/daemon/supervisor/BasicContainer.java
@@ -269,7 +269,7 @@ public class BasicContainer extends Container {
@SuppressWarnings("unchecked")
Map<String, String> env = (Map<String, String>) _topoConf.get(Config.TOPOLOGY_ENVIRONMENT);
if (env == null) {
- env = new HashMap<String, String>();
+ env = new HashMap<>();
}
String str = ConfigUtils.workerArtifactsPidPath(_conf, _topologyId, _port);
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-server/src/test/java/org/apache/storm/localizer/AsyncLocalizerTest.java
----------------------------------------------------------------------
diff --git a/storm-server/src/test/java/org/apache/storm/localizer/AsyncLocalizerTest.java b/storm-server/src/test/java/org/apache/storm/localizer/AsyncLocalizerTest.java
index f49be63..34e9e8e 100644
--- a/storm-server/src/test/java/org/apache/storm/localizer/AsyncLocalizerTest.java
+++ b/storm-server/src/test/java/org/apache/storm/localizer/AsyncLocalizerTest.java
@@ -22,8 +22,17 @@ import static org.apache.storm.localizer.AsyncLocalizer.USERCACHE;
import static org.junit.Assert.*;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Matchers.*;
-import static org.mockito.Mockito.*;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.endsWith;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.startsWith;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import com.google.common.base.Joiner;
import java.io.File;
http://git-wip-us.apache.org/repos/asf/storm/blob/3503dcea/storm-webapp/pom.xml
----------------------------------------------------------------------
diff --git a/storm-webapp/pom.xml b/storm-webapp/pom.xml
index 7c2bcf2..2846146 100644
--- a/storm-webapp/pom.xml
+++ b/storm-webapp/pom.xml
@@ -61,18 +61,17 @@
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
</dependency>
- <!-- hamcrest-core dependency is shaded inside the mockito-all and junit depends on newer version of hamcrest-core.
- To give higher precedence to classes from newer version of hamcrest-core, Junit has been placed above mockito.
- -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
- <scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
- <artifactId>mockito-all</artifactId>
- <scope>test</scope>
+ <artifactId>mockito-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>java-hamcrest</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
[3/3] storm git commit: Merge branch 'STORM-2698-2' of
https://github.com/srdo/storm into asfgit-master
Posted by sr...@apache.org.
Merge branch 'STORM-2698-2' of https://github.com/srdo/storm into asfgit-master
Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/352cd466
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/352cd466
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/352cd466
Branch: refs/heads/master
Commit: 352cd4665287712813d5f6f2af2537769a2cbb82
Parents: 1a85763 3503dce
Author: Stig Rohde Døssing <sr...@apache.org>
Authored: Mon Oct 9 20:39:49 2017 +0200
Committer: Stig Rohde Døssing <sr...@apache.org>
Committed: Mon Oct 9 20:39:49 2017 +0200
----------------------------------------------------------------------
examples/storm-starter/pom.xml | 9 +-
external/storm-cassandra/pom.xml | 8 +-
external/storm-elasticsearch/pom.xml | 13 +-
.../elasticsearch/bolt/EsLookupBoltTest.java | 1 -
.../elasticsearch/bolt/EsPercolateBoltTest.java | 13 +-
external/storm-hbase/pom.xml | 7 +-
external/storm-hdfs/pom.xml | 7 +-
external/storm-hive/pom.xml | 10 +-
external/storm-kafka-client/pom.xml | 9 +-
.../apache/storm/kafka/bolt/KafkaBoltTest.java | 9 +-
.../storm/kafka/spout/KafkaSpoutCommitTest.java | 10 +-
external/storm-kafka/pom.xml | 8 +-
.../org/apache/storm/kafka/bolt/KafkaBolt.java | 2 +-
.../apache/storm/kafka/bolt/KafkaBoltTest.java | 15 +-
external/storm-mongodb/pom.xml | 7 +-
external/storm-opentsdb/pom.xml | 7 +-
external/storm-redis/pom.xml | 7 +-
pom.xml | 18 +-
sql/storm-sql-core/pom.xml | 7 +-
sql/storm-sql-external/storm-sql-hdfs/pom.xml | 7 +-
.../sql/hdfs/TestHdfsDataSourcesProvider.java | 140 +++++++-------
sql/storm-sql-external/storm-sql-kafka/pom.xml | 7 +-
.../sql/kafka/TestKafkaDataSourcesProvider.java | 136 +++++++-------
.../storm-sql-mongodb/pom.xml | 7 +-
.../mongodb/TestMongoDataSourcesProvider.java | 121 ++++++------
sql/storm-sql-external/storm-sql-redis/pom.xml | 7 +-
.../sql/redis/TestRedisDataSourcesProvider.java | 188 ++++++++++---------
sql/storm-sql-runtime/pom.xml | 7 +-
storm-client/pom.xml | 8 +-
.../storm/grouping/PartialKeyGroupingTest.java | 2 +-
.../PersistentWindowedBoltExecutorTest.java | 29 ++-
.../topology/StatefulBoltExecutorTest.java | 39 ++--
.../windowing/persistence/WindowStateTest.java | 10 -
storm-core/pom.xml | 8 +-
.../test/clj/org/apache/storm/cluster_test.clj | 2 +-
.../test/clj/org/apache/storm/drpc_test.clj | 14 +-
storm-server/pom.xml | 6 +-
.../storm/daemon/supervisor/BasicContainer.java | 2 +-
.../storm/localizer/AsyncLocalizerTest.java | 13 +-
storm-webapp/pom.xml | 11 +-
.../handler/LogviewerLogSearchHandlerTest.java | 27 +--
.../daemon/logviewer/utils/LogCleanerTest.java | 20 +-
42 files changed, 510 insertions(+), 468 deletions(-)
----------------------------------------------------------------------