You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@storm.apache.org by bo...@apache.org on 2016/01/30 19:47:46 UTC

[07/14] storm git commit: Updated tests for zkLeaderElector stubbing

Updated tests for zkLeaderElector stubbing


Project: http://git-wip-us.apache.org/repos/asf/storm/repo
Commit: http://git-wip-us.apache.org/repos/asf/storm/commit/1c731978
Tree: http://git-wip-us.apache.org/repos/asf/storm/tree/1c731978
Diff: http://git-wip-us.apache.org/repos/asf/storm/diff/1c731978

Branch: refs/heads/master
Commit: 1c73197824fabbb24fe0953e0c68ea4b997097b8
Parents: 394feff
Author: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Authored: Thu Jan 28 13:55:53 2016 -0600
Committer: Robert (Bobby) Evans <ev...@yahoo-inc.com>
Committed: Thu Jan 28 13:55:53 2016 -0600

----------------------------------------------------------------------
 .../org/apache/storm/zookeeper/Zookeeper.java    |  4 ++++
 .../test/clj/org/apache/storm/nimbus_test.clj    | 19 +++++++++++++------
 2 files changed, 17 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/storm/blob/1c731978/storm-core/src/jvm/org/apache/storm/zookeeper/Zookeeper.java
----------------------------------------------------------------------
diff --git a/storm-core/src/jvm/org/apache/storm/zookeeper/Zookeeper.java b/storm-core/src/jvm/org/apache/storm/zookeeper/Zookeeper.java
index e8f306a..9b50208 100644
--- a/storm-core/src/jvm/org/apache/storm/zookeeper/Zookeeper.java
+++ b/storm-core/src/jvm/org/apache/storm/zookeeper/Zookeeper.java
@@ -340,6 +340,10 @@ public class Zookeeper {
     }
 
     public static ILeaderElector zkLeaderElector(Map conf) throws UnknownHostException {
+        return _instance.zkLeaderElectorImpl(conf);
+    }
+
+    protected ILeaderElector zkLeaderElectorImpl(Map conf) throws UnknownHostException {
         List<String> servers = (List<String>) conf.get(Config.STORM_ZOOKEEPER_SERVERS);
         Object port = conf.get(Config.STORM_ZOOKEEPER_PORT);
         CuratorFramework zk = mkClient(conf, servers, port, "", conf);

http://git-wip-us.apache.org/repos/asf/storm/blob/1c731978/storm-core/test/clj/org/apache/storm/nimbus_test.clj
----------------------------------------------------------------------
diff --git a/storm-core/test/clj/org/apache/storm/nimbus_test.clj b/storm-core/test/clj/org/apache/storm/nimbus_test.clj
index f6091be..19c6f59 100644
--- a/storm-core/test/clj/org/apache/storm/nimbus_test.clj
+++ b/storm-core/test/clj/org/apache/storm/nimbus_test.clj
@@ -21,6 +21,7 @@
   (:import [org.apache.storm.testing TestWordCounter TestWordSpout TestGlobalCount
             TestAggregatesCounter TestPlannerSpout TestPlannerBolt]
            [org.apache.storm.nimbus InMemoryTopologyActionNotifier])
+  (:import [org.apache.storm.testing.staticmocking MockedZookeeper])
   (:import [org.apache.storm.scheduler INimbus])
   (:import [org.apache.storm.nimbus ILeaderElector NimbusInfo])
   (:import [org.apache.storm.testing.staticmocking MockedConfigUtils])
@@ -1020,7 +1021,8 @@
 (deftest test-cleans-corrupt
   (with-inprocess-zookeeper zk-port
     (with-local-tmp [nimbus-dir]
-      (stubbing [zk-leader-elector (mock-leader-elector)]
+      (with-open [_ (MockedZookeeper. (proxy [Zookeeper] []
+                      (zkLeaderElectorImpl [conf] (mock-leader-elector))))]
         (letlocals
          (bind conf (merge (clojurify-structure (ConfigUtils/readStormConfig))
                            {STORM-ZOOKEEPER-SERVERS ["localhost"]
@@ -1091,7 +1093,8 @@
   "Tests that leader actions can only be performed by master and non leader fails to perform the same actions."
   (with-inprocess-zookeeper zk-port
     (with-local-tmp [nimbus-dir]
-      (stubbing [zk-leader-elector (mock-leader-elector)]
+      (with-open [_ (MockedZookeeper. (proxy [Zookeeper] []
+                      (zkLeaderElectorImpl [conf] (mock-leader-elector))))]
         (letlocals
           (bind conf (merge (clojurify-structure (ConfigUtils/readStormConfig))
                        {STORM-ZOOKEEPER-SERVERS ["localhost"]
@@ -1104,7 +1107,9 @@
                            {"1" (thrift/mk-spout-spec (TestPlannerSpout. true) :parallelism-hint 3)}
                            {}))
 
-          (stubbing [zk-leader-elector (mock-leader-elector :is-leader false)]
+          (with-open [_ (MockedZookeeper. (proxy [Zookeeper] []
+                          (zkLeaderElectorImpl [conf] (mock-leader-elector :is-leader false))))]
+
             (letlocals
               (bind non-leader-cluster-state (cluster/mk-storm-cluster-state conf))
               (bind non-leader-nimbus (nimbus/service-handler conf (nimbus/standalone-nimbus)))
@@ -1344,7 +1349,9 @@
           expected-acls nimbus/NIMBUS-ZK-ACLS
           fake-inimbus (reify INimbus (getForcedScheduler [this] nil))]
       (with-open [_ (proxy [MockedConfigUtils] []
-                      (nimbusTopoHistoryStateImpl [conf] nil))]
+                      (nimbusTopoHistoryStateImpl [conf] nil))
+                  zk-le (MockedZookeeper. (proxy [Zookeeper] []
+                          (zkLeaderElectorImpl [conf] nil)))]
         (stubbing [mk-authorization-handler nil
                  cluster/mk-storm-cluster-state nil
                  nimbus/file-cache-map nil
@@ -1353,7 +1360,6 @@
                  uptime-computer nil
                  new-instance nil
                  mk-timer nil
-                 zk-leader-elector nil
                  nimbus/mk-scheduler nil]
           (nimbus/nimbus-data auth-conf fake-inimbus)
           (verify-call-times-for cluster/mk-storm-cluster-state 1)
@@ -1412,7 +1418,8 @@
 (deftest test-topology-action-notifier
   (with-inprocess-zookeeper zk-port
     (with-local-tmp [nimbus-dir]
-      (stubbing [zk-leader-elector (mock-leader-elector)]
+      (with-open [_ (MockedZookeeper. (proxy [Zookeeper] []
+                      (zkLeaderElectorImpl [conf] (mock-leader-elector))))]
         (letlocals
           (bind conf (merge (clojurify-structure (ConfigUtils/readStormConfig))
                        {STORM-ZOOKEEPER-SERVERS ["localhost"]