summaryrefslogtreecommitdiff
path: root/tooz/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'tooz/drivers')
-rw-r--r--tooz/drivers/zake.py37
-rw-r--r--tooz/drivers/zookeeper.py6
2 files changed, 9 insertions, 34 deletions
diff --git a/tooz/drivers/zake.py b/tooz/drivers/zake.py
index 5ca244e..deb4430 100644
--- a/tooz/drivers/zake.py
+++ b/tooz/drivers/zake.py
@@ -17,11 +17,10 @@ from __future__ import absolute_import
from zake import fake_client
from zake import fake_storage
-import tooz
from tooz.drivers import zookeeper
-class ZakeDriver(zookeeper.BaseZooKeeperDriver):
+class ZakeDriver(zookeeper.KazooDriver):
"""The driver using the Zake client which mimic a fake Kazoo client
without the need of real ZooKeeper servers.
"""
@@ -30,34 +29,6 @@ class ZakeDriver(zookeeper.BaseZooKeeperDriver):
fake_storage = fake_storage.FakeStorage(
fake_client.k_threading.SequentialThreadingHandler())
- def __init__(self, member_id, parsed_url, options):
- super(ZakeDriver, self).__init__(member_id, parsed_url, options)
- self._coord = fake_client.FakeClient(storage=self.fake_storage)
-
- @staticmethod
- def watch_join_group(group_id, callback):
- raise tooz.NotImplemented
-
- @staticmethod
- def unwatch_join_group(group_id, callback):
- raise tooz.NotImplemented
-
- @staticmethod
- def watch_leave_group(group_id, callback):
- raise tooz.NotImplemented
-
- @staticmethod
- def unwatch_leave_group(group_id, callback):
- raise tooz.NotImplemented
-
- @staticmethod
- def watch_elected_as_leader(group_id, callback):
- raise tooz.NotImplemented
-
- @staticmethod
- def unwatch_elected_as_leader(group_id, callback):
- raise tooz.NotImplemented
-
- @staticmethod
- def run_watchers():
- raise tooz.NotImplemented
+ @classmethod
+ def _make_client(cls, parsed_url, options):
+ return fake_client.FakeClient(storage=cls.fake_storage)
diff --git a/tooz/drivers/zookeeper.py b/tooz/drivers/zookeeper.py
index 7ea8e58..9b110e1 100644
--- a/tooz/drivers/zookeeper.py
+++ b/tooz/drivers/zookeeper.py
@@ -207,9 +207,13 @@ class KazooDriver(BaseZooKeeperDriver):
def __init__(self, member_id, parsed_url, options):
super(KazooDriver, self).__init__(member_id, parsed_url, options)
- self._coord = client.KazooClient(hosts=parsed_url.netloc)
+ self._coord = self._make_client(parsed_url, options)
self._member_id = member_id
+ @classmethod
+ def _make_client(cls, parsed_url, options):
+ return client.KazooClient(hosts=parsed_url.netloc)
+
def _watch_group(self, group_id):
get_members_req = self.get_members(group_id)