You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flume.apache.org by es...@apache.org on 2011/08/12 02:49:09 UTC
svn commit: r1156924 -
/incubator/flume/branches/flume-728/flume-ng-core/src/test/java/org/apache/flume/lifecycle/TestLifecycleSupervisor.java
Author: esammer
Date: Fri Aug 12 00:49:08 2011
New Revision: 1156924
URL: http://svn.apache.org/viewvc?rev=1156924&view=rev
Log:
- Added unit tests for LifecycleSupervisor.
Added:
incubator/flume/branches/flume-728/flume-ng-core/src/test/java/org/apache/flume/lifecycle/TestLifecycleSupervisor.java
Added: incubator/flume/branches/flume-728/flume-ng-core/src/test/java/org/apache/flume/lifecycle/TestLifecycleSupervisor.java
URL: http://svn.apache.org/viewvc/incubator/flume/branches/flume-728/flume-ng-core/src/test/java/org/apache/flume/lifecycle/TestLifecycleSupervisor.java?rev=1156924&view=auto
==============================================================================
--- incubator/flume/branches/flume-728/flume-ng-core/src/test/java/org/apache/flume/lifecycle/TestLifecycleSupervisor.java (added)
+++ incubator/flume/branches/flume-728/flume-ng-core/src/test/java/org/apache/flume/lifecycle/TestLifecycleSupervisor.java Fri Aug 12 00:49:08 2011
@@ -0,0 +1,108 @@
+package org.apache.flume.lifecycle;
+
+import org.apache.flume.Context;
+import org.apache.flume.LogicalNode;
+import org.apache.flume.lifecycle.LifecycleSupervisor.SupervisorPolicy;
+import org.apache.flume.sink.NullSink;
+import org.apache.flume.source.SequenceGeneratorSource;
+import org.junit.Before;
+import org.junit.Test;
+
+public class TestLifecycleSupervisor {
+
+ private LifecycleSupervisor supervisor;
+
+ @Before
+ public void setUp() {
+ supervisor = new LifecycleSupervisor();
+ }
+
+ @Test
+ public void testLifecycle() throws LifecycleException, InterruptedException {
+ Context context = new Context();
+
+ supervisor.start(context);
+ supervisor.stop(context);
+ }
+
+ @Test
+ public void testSupervise() throws LifecycleException, InterruptedException {
+ Context context = new Context();
+
+ supervisor.start(context);
+
+ /* Attempt to supervise a known-to-fail config. */
+ /*
+ * LogicalNode node = new LogicalNode(); SupervisorPolicy policy = new
+ * SupervisorPolicy.OnceOnlyPolicy(); supervisor.supervise(node, policy,
+ * LifecycleState.START);
+ */
+
+ LogicalNode node = new LogicalNode();
+ node.setName("node1");
+ node.setSource(new SequenceGeneratorSource());
+ node.setSink(new NullSink());
+
+ SupervisorPolicy policy = new SupervisorPolicy.OnceOnlyPolicy();
+ supervisor.supervise(node, policy, LifecycleState.START);
+
+ Thread.sleep(10000);
+
+ node = new LogicalNode();
+ node.setName("node2");
+ node.setSource(new SequenceGeneratorSource());
+ node.setSink(new NullSink());
+
+ policy = new SupervisorPolicy.OnceOnlyPolicy();
+ supervisor.supervise(node, policy, LifecycleState.START);
+
+ Thread.sleep(5000);
+
+ supervisor.stop(context);
+ }
+
+ @Test
+ public void testSuperviseBroken() throws LifecycleException,
+ InterruptedException {
+ Context context = new Context();
+
+ supervisor.start(context);
+
+ /* Attempt to supervise a known-to-fail config. */
+ LogicalNode node = new LogicalNode();
+ SupervisorPolicy policy = new SupervisorPolicy.OnceOnlyPolicy();
+ supervisor.supervise(node, policy, LifecycleState.START);
+
+ Thread.sleep(5000);
+
+ supervisor.stop(context);
+ }
+
+ @Test
+ public void testSuperviseSupervisor() throws LifecycleException,
+ InterruptedException {
+
+ Context context = new Context();
+
+ supervisor.start(context);
+
+ LifecycleSupervisor supervisor2 = new LifecycleSupervisor();
+
+ /* Attempt to supervise a known-to-fail config. */
+ LogicalNode node = new LogicalNode();
+ node.setName("node1");
+ node.setSource(new SequenceGeneratorSource());
+ node.setSink(new NullSink());
+
+ SupervisorPolicy policy = new SupervisorPolicy.OnceOnlyPolicy();
+ supervisor2.supervise(node, policy, LifecycleState.START);
+
+ supervisor.supervise(supervisor2,
+ new SupervisorPolicy.AlwaysRestartPolicy(), LifecycleState.START);
+
+ Thread.sleep(10000);
+
+ supervisor.stop(context);
+ }
+
+}