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);
+  }
+
+}