You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@streams.apache.org by re...@apache.org on 2014/10/22 00:45:52 UTC
[4/5] git commit: STREAMS-201 | Added util to tests to remove
registed mbeans before next test runs
STREAMS-201 | Added util to tests to remove registed mbeans before next test runs
Project: http://git-wip-us.apache.org/repos/asf/incubator-streams/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-streams/commit/ea973e00
Tree: http://git-wip-us.apache.org/repos/asf/incubator-streams/tree/ea973e00
Diff: http://git-wip-us.apache.org/repos/asf/incubator-streams/diff/ea973e00
Branch: refs/heads/master
Commit: ea973e005f8d774a924bfc62d056b07ffe152c92
Parents: 6a8ed61
Author: Ryan Ebanks <ry...@gmail.com>
Authored: Tue Oct 21 15:50:57 2014 -0500
Committer: Ryan Ebanks <ry...@gmail.com>
Committed: Tue Oct 21 15:50:57 2014 -0500
----------------------------------------------------------------------
.../local/builders/LocalStreamBuilderTest.java | 12 ++++++++++++
...nUnhandledThrowableThreadPoolExecutorTest.java | 11 +++++++++++
.../queues/ThroughputQueueMulitThreadTest.java | 10 ++++++++++
.../queues/ThroughputQueueSingleThreadTest.java | 11 +++++++++++
.../streams/local/tasks/BasicTasksTest.java | 10 ++++++++++
.../local/tasks/StreamsProviderTaskTest.java | 10 ++++++++++
.../tests/TestComponentsLocalStream.java | 13 ++++++++++++-
.../tests/TestExpectedDatumsPersitWriter.java | 13 ++++++++++++-
.../component/tests/TestFileReaderProvider.java | 12 +++++++++++-
.../org/apache/streams/util/ComponentUtils.java | 18 ++++++++++++++++++
10 files changed, 117 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/builders/LocalStreamBuilderTest.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/builders/LocalStreamBuilderTest.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/builders/LocalStreamBuilderTest.java
index e602181..6513032 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/builders/LocalStreamBuilderTest.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/builders/LocalStreamBuilderTest.java
@@ -50,6 +50,8 @@ import org.apache.streams.local.test.providers.EmptyResultSetProvider;
import org.apache.streams.local.test.providers.NumericMessageProvider;
import org.apache.streams.local.test.writer.DatumCounterWriter;
import org.apache.streams.local.test.writer.SystemOutWriter;
+import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
@@ -73,6 +75,16 @@ import javax.management.*;
public class LocalStreamBuilderTest extends RandomizedTest {
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
+
+
public void removeRegisteredMBeans(String... ids) {
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
for(String id : ids) {
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/executors/ShutdownStreamOnUnhandledThrowableThreadPoolExecutorTest.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/executors/ShutdownStreamOnUnhandledThrowableThreadPoolExecutorTest.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/executors/ShutdownStreamOnUnhandledThrowableThreadPoolExecutorTest.java
index 17e8dd9..f6dd70d 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/executors/ShutdownStreamOnUnhandledThrowableThreadPoolExecutorTest.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/executors/ShutdownStreamOnUnhandledThrowableThreadPoolExecutorTest.java
@@ -1,6 +1,8 @@
package org.apache.streams.local.executors;
import org.apache.streams.local.builders.LocalStreamBuilder;
+import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Test;
import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer;
@@ -23,6 +25,15 @@ import static org.mockito.Mockito.when;
public class ShutdownStreamOnUnhandledThrowableThreadPoolExecutorTest {
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
+
@Test
public void testShutDownOnException() {
LocalStreamBuilder sb = mock(LocalStreamBuilder.class);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueMulitThreadTest.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueMulitThreadTest.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueMulitThreadTest.java
index 96b944f..264a2a0 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueMulitThreadTest.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueMulitThreadTest.java
@@ -19,6 +19,7 @@ package org.apache.streams.local.queues;
import com.carrotsearch.randomizedtesting.RandomizedTest;
import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import org.apache.streams.util.ComponentUtils;
import org.junit.After;
import org.junit.Test;
import org.slf4j.Logger;
@@ -50,6 +51,15 @@ public class ThroughputQueueMulitThreadTest extends RandomizedTest {
}
}
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
+
/**
* Test that queue will block on puts when the queue is full
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueSingleThreadTest.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueSingleThreadTest.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueSingleThreadTest.java
index 569ba5c..2492161 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueSingleThreadTest.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/queues/ThroughputQueueSingleThreadTest.java
@@ -19,6 +19,8 @@ package org.apache.streams.local.queues;
import com.carrotsearch.randomizedtesting.RandomizedTest;
import com.carrotsearch.randomizedtesting.annotations.Repeat;
+import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Test;
import javax.management.MBeanServer;
@@ -35,6 +37,15 @@ import static org.junit.Assert.assertEquals;
public class ThroughputQueueSingleThreadTest extends RandomizedTest {
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
+
/**
* Test that take and put queue and dequeue data as expected and all
* measurements form the queue are returning data.
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/BasicTasksTest.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/BasicTasksTest.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/BasicTasksTest.java
index f524db0..2d28602 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/BasicTasksTest.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/BasicTasksTest.java
@@ -23,6 +23,8 @@ import org.apache.streams.local.queues.ThroughputQueue;
import org.apache.streams.local.test.processors.PassthroughDatumCounterProcessor;
import org.apache.streams.local.test.providers.NumericMessageProvider;
import org.apache.streams.local.test.writer.DatumCounterWriter;
+import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Test;
import java.util.Queue;
@@ -36,6 +38,14 @@ import static org.junit.Assert.*;
public class BasicTasksTest {
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
@Test
public void testProviderTask() {
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/StreamsProviderTaskTest.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/StreamsProviderTaskTest.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/StreamsProviderTaskTest.java
index 856c357..5e18650 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/StreamsProviderTaskTest.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/local/tasks/StreamsProviderTaskTest.java
@@ -23,6 +23,7 @@ import org.apache.streams.core.StreamsDatum;
import org.apache.streams.core.StreamsProvider;
import org.apache.streams.core.StreamsResultSet;
import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -49,6 +50,15 @@ public class StreamsProviderTaskTest {
pool = Executors.newFixedThreadPool(1);
}
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
+
@Test
public void runPerpetual() {
StreamsProviderTask task = new StreamsProviderTask(mockProvider, true);
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestComponentsLocalStream.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestComponentsLocalStream.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestComponentsLocalStream.java
index 3437767..935c8fe 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestComponentsLocalStream.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestComponentsLocalStream.java
@@ -22,13 +22,24 @@ import org.apache.streams.local.builders.LocalStreamBuilder;
import org.apache.streams.test.component.ExpectedDatumsPersistWriter;
import org.apache.streams.test.component.FileReaderProvider;
import org.apache.streams.test.component.StringToDocumentConverter;
+import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Test;
/**
- * Created by rebanks on 2/28/14.
+ *
*/
public class TestComponentsLocalStream {
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
+
@Test
public void testLocalStreamWithComponent() {
LocalStreamBuilder builder = new LocalStreamBuilder();
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestExpectedDatumsPersitWriter.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestExpectedDatumsPersitWriter.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestExpectedDatumsPersitWriter.java
index 8a9939f..11e891b 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestExpectedDatumsPersitWriter.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestExpectedDatumsPersitWriter.java
@@ -21,11 +21,13 @@ package org.apache.streams.test.component.tests;
import org.apache.streams.core.StreamsDatum;
import org.apache.streams.test.component.ExpectedDatumsPersistWriter;
import org.apache.streams.test.component.StringToDocumentConverter;
+import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Ignore;
import org.junit.Test;
/**
- * Created by rebanks on 2/28/14.
+ *
*/
public class TestExpectedDatumsPersitWriter {
@@ -38,6 +40,15 @@ public class TestExpectedDatumsPersitWriter {
// ,new StreamsDatum("Document5")
};
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
+
@Test
public void testExpectedDatumsPersistWriterFileName() {
testDatums(new ExpectedDatumsPersistWriter(new StringToDocumentConverter(), "/TestFile.txt"));
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestFileReaderProvider.java
----------------------------------------------------------------------
diff --git a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestFileReaderProvider.java b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestFileReaderProvider.java
index b8481ce..1ae9a24 100644
--- a/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestFileReaderProvider.java
+++ b/streams-runtimes/streams-runtime-local/src/test/java/org/apache/streams/test/component/tests/TestFileReaderProvider.java
@@ -22,6 +22,8 @@ import org.apache.streams.core.StreamsDatum;
import org.apache.streams.core.StreamsResultSet;
import org.apache.streams.test.component.FileReaderProvider;
import org.apache.streams.test.component.StringToDocumentConverter;
+import org.apache.streams.util.ComponentUtils;
+import org.junit.After;
import org.junit.Ignore;
import org.junit.Test;
@@ -30,10 +32,18 @@ import java.io.InputStream;
import static org.junit.Assert.*;
/**
- * Created by rebanks on 2/28/14.
+ *
*/
public class TestFileReaderProvider {
+ @After
+ public void removeLocalMBeans() {
+ try {
+ ComponentUtils.removeAllMBeansOfDomain("org.apache.streams.local");
+ } catch (Exception e) {
+ //No op. proceed to next test
+ }
+ }
@Test
public void testFileReaderProviderFileName() {
http://git-wip-us.apache.org/repos/asf/incubator-streams/blob/ea973e00/streams-util/src/main/java/org/apache/streams/util/ComponentUtils.java
----------------------------------------------------------------------
diff --git a/streams-util/src/main/java/org/apache/streams/util/ComponentUtils.java b/streams-util/src/main/java/org/apache/streams/util/ComponentUtils.java
index 9f3c480..9f73560 100644
--- a/streams-util/src/main/java/org/apache/streams/util/ComponentUtils.java
+++ b/streams-util/src/main/java/org/apache/streams/util/ComponentUtils.java
@@ -22,7 +22,11 @@ import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.lang.management.ManagementFactory;
import java.util.Queue;
+import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.TimeUnit;
@@ -105,4 +109,18 @@ public class ComponentUtils {
}
}
+ /**
+ * Removes all mbeans registered undered a specific domain. Made specificly to clean up at unit tests
+ * @param domain
+ */
+ public static void removeAllMBeansOfDomain(String domain) throws Exception {
+ MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
+ domain = domain.endsWith(":") ? domain : domain+":";
+ ObjectName objectName = new ObjectName(domain+"*");
+ Set<ObjectName> mbeanNames = mbs.queryNames(objectName, null);
+ for(ObjectName name : mbeanNames) {
+ mbs.unregisterMBean(name);
+ }
+ }
+
}