SLIDER-628 Cleanup a few unwanted test related kazoo files
diff --git a/slider-agent/src/main/python/kazoo/testing/__init__.py b/slider-agent/src/main/python/kazoo/testing/__init__.py
deleted file mode 100644
index 660546b..0000000
--- a/slider-agent/src/main/python/kazoo/testing/__init__.py
+++ /dev/null
@@ -1,6 +0,0 @@
-"""license: Apache License 2.0, see LICENSE for more details."""
-from kazoo.testing.harness import KazooTestCase
-from kazoo.testing.harness import KazooTestHarness
-
-
-__all__ = ('KazooTestHarness', 'KazooTestCase', )
diff --git a/slider-agent/src/main/python/kazoo/testing/common.py b/slider-agent/src/main/python/kazoo/testing/common.py
deleted file mode 100644
index b497a8e..0000000
--- a/slider-agent/src/main/python/kazoo/testing/common.py
+++ /dev/null
@@ -1,284 +0,0 @@
-"""license: Apache License 2.0, see LICENSE for more details."""
-#
-#  Copyright (C) 2010-2011, 2011 Canonical Ltd. All Rights Reserved
-#
-#  This file was originally taken from txzookeeper and modified later.
-#
-#  Authors:
-#   Kapil Thangavelu and the Kazoo team
-#
-#  txzookeeper is free software: you can redistribute it and/or modify
-#  it under the terms of the GNU Lesser General Public License as published by
-#  the Free Software Foundation, either version 3 of the License, or
-#  (at your option) any later version.
-#
-#  txzookeeper is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU Lesser General Public License for more details.
-#
-#  You should have received a copy of the GNU Lesser General Public License
-#  along with txzookeeper.  If not, see <http://www.gnu.org/licenses/>.
-
-
-import code
-import os
-import os.path
-import shutil
-import signal
-import subprocess
-import tempfile
-import traceback
-
-from itertools import chain
-from collections import namedtuple
-from glob import glob
-
-
-def debug(sig, frame):
-    """Interrupt running process, and provide a python prompt for
-    interactive debugging."""
-    d = {'_frame': frame}         # Allow access to frame object.
-    d.update(frame.f_globals)  # Unless shadowed by global
-    d.update(frame.f_locals)
-
-    i = code.InteractiveConsole(d)
-    message = "Signal recieved : entering python shell.\nTraceback:\n"
-    message += ''.join(traceback.format_stack(frame))
-    i.interact(message)
-
-
-def listen():
-    if os.name != 'nt':  # SIGUSR1 is not supported on Windows
-        signal.signal(signal.SIGUSR1, debug)  # Register handler
-listen()
-
-
-def to_java_compatible_path(path):
-    if os.name == 'nt':
-        path = path.replace('\\', '/')
-    return path
-
-ServerInfo = namedtuple(
-    "ServerInfo", "server_id client_port election_port leader_port")
-
-
-class ManagedZooKeeper(object):
-    """Class to manage the running of a ZooKeeper instance for testing.
-
-    Note: no attempt is made to probe the ZooKeeper instance is
-    actually available, or that the selected port is free. In the
-    future, we may want to do that, especially when run in a
-    Hudson/Buildbot context, to ensure more test robustness."""
-
-    def __init__(self, software_path, server_info, peers=(), classpath=None):
-        """Define the ZooKeeper test instance.
-
-        @param install_path: The path to the install for ZK
-        @param port: The port to run the managed ZK instance
-        """
-        self.install_path = software_path
-        self._classpath = classpath
-        self.server_info = server_info
-        self.host = "127.0.0.1"
-        self.peers = peers
-        self.working_path = tempfile.mkdtemp()
-        self._running = False
-
-    def run(self):
-        """Run the ZooKeeper instance under a temporary directory.
-
-        Writes ZK log messages to zookeeper.log in the current directory.
-        """
-        if self.running:
-            return
-        config_path = os.path.join(self.working_path, "zoo.cfg")
-        log_path = os.path.join(self.working_path, "log")
-        log4j_path = os.path.join(self.working_path, "log4j.properties")
-        data_path = os.path.join(self.working_path, "data")
-
-        # various setup steps
-        if not os.path.exists(self.working_path):
-            os.mkdir(self.working_path)
-        if not os.path.exists(log_path):
-            os.mkdir(log_path)
-        if not os.path.exists(data_path):
-            os.mkdir(data_path)
-
-        with open(config_path, "w") as config:
-            config.write("""
-tickTime=2000
-dataDir=%s
-clientPort=%s
-maxClientCnxns=0
-""" % (to_java_compatible_path(data_path), self.server_info.client_port))
-
-        # setup a replicated setup if peers are specified
-        if self.peers:
-            servers_cfg = []
-            for p in chain((self.server_info,), self.peers):
-                servers_cfg.append("server.%s=localhost:%s:%s" % (
-                    p.server_id, p.leader_port, p.election_port))
-
-            with open(config_path, "a") as config:
-                config.write("""
-initLimit=4
-syncLimit=2
-%s
-""" % ("\n".join(servers_cfg)))
-
-        # Write server ids into datadir
-        with open(os.path.join(data_path, "myid"), "w") as myid_file:
-            myid_file.write(str(self.server_info.server_id))
-
-        with open(log4j_path, "w") as log4j:
-            log4j.write("""
-# DEFAULT: console appender only
-log4j.rootLogger=INFO, ROLLINGFILE
-log4j.appender.ROLLINGFILE.layout=org.apache.log4j.PatternLayout
-log4j.appender.ROLLINGFILE.layout.ConversionPattern=%d{ISO8601} [myid:%X{myid}] - %-5p [%t:%C{1}@%L] - %m%n
-log4j.appender.ROLLINGFILE=org.apache.log4j.RollingFileAppender
-log4j.appender.ROLLINGFILE.Threshold=DEBUG
-log4j.appender.ROLLINGFILE.File=""" + to_java_compatible_path(
-                self.working_path + os.sep + "zookeeper.log\n"))
-
-        self.process = subprocess.Popen(
-            args=["java",
-                  "-cp", self.classpath,
-                  "-Dreadonlymode.enabled=true",
-                  "-Dzookeeper.log.dir=%s" % log_path,
-                  "-Dzookeeper.root.logger=INFO,CONSOLE",
-                  "-Dlog4j.configuration=file:%s" % log4j_path,
-                  # "-Dlog4j.debug",
-                  "org.apache.zookeeper.server.quorum.QuorumPeerMain",
-                  config_path])
-        self._running = True
-
-    @property
-    def classpath(self):
-        """Get the classpath necessary to run ZooKeeper."""
-
-        if self._classpath:
-            return self._classpath
-
-        # Two possibilities, as seen in zkEnv.sh:
-        # Check for a release - top-level zookeeper-*.jar?
-        jars = glob((os.path.join(
-            self.install_path, 'zookeeper-*.jar')))
-        if jars:
-            # Release build (`ant package`)
-            jars.extend(glob(os.path.join(
-                self.install_path,
-                "lib/*.jar")))
-            # support for different file locations on Debian/Ubuntu
-            jars.extend(glob(os.path.join(
-                self.install_path,
-                "log4j-*.jar")))
-            jars.extend(glob(os.path.join(
-                self.install_path,
-                "slf4j-api-*.jar")))
-            jars.extend(glob(os.path.join(
-                self.install_path,
-                "slf4j-log4j-*.jar")))
-        else:
-            # Development build (plain `ant`)
-            jars = glob((os.path.join(
-                self.install_path, 'build/zookeeper-*.jar')))
-            jars.extend(glob(os.path.join(
-                self.install_path,
-                "build/lib/*.jar")))
-
-        return os.pathsep.join(jars)
-
-    @property
-    def address(self):
-        """Get the address of the ZooKeeper instance."""
-        return "%s:%s" % (self.host, self.client_port)
-
-    @property
-    def running(self):
-        return self._running
-
-    @property
-    def client_port(self):
-        return self.server_info.client_port
-
-    def reset(self):
-        """Stop the zookeeper instance, cleaning out its on disk-data."""
-        self.stop()
-        shutil.rmtree(os.path.join(self.working_path, "data"))
-        os.mkdir(os.path.join(self.working_path, "data"))
-        with open(os.path.join(self.working_path, "data", "myid"), "w") as fh:
-            fh.write(str(self.server_info.server_id))
-
-    def stop(self):
-        """Stop the Zookeeper instance, retaining on disk state."""
-        if not self.running:
-            return
-        self.process.terminate()
-        self.process.wait()
-        self._running = False
-
-    def destroy(self):
-        """Stop the ZooKeeper instance and destroy its on disk-state"""
-        # called by at exit handler, reimport to avoid cleanup race.
-        import shutil
-        self.stop()
-
-        shutil.rmtree(self.working_path)
-
-
-class ZookeeperCluster(object):
-
-    def __init__(self, install_path=None, classpath=None, size=3, port_offset=20000):
-        self._install_path = install_path
-        self._classpath = classpath
-        self._servers = []
-
-        # Calculate ports and peer group
-        port = port_offset
-        peers = []
-
-        for i in range(size):
-            info = ServerInfo(i + 1, port, port + 1, port + 2)
-            peers.append(info)
-            port += 10
-
-        # Instantiate Managed ZK Servers
-        for i in range(size):
-            server_peers = list(peers)
-            server_info = server_peers.pop(i)
-            self._servers.append(
-                ManagedZooKeeper(
-                    self._install_path, server_info, server_peers, classpath=self._classpath))
-
-    def __getitem__(self, k):
-        return self._servers[k]
-
-    def __iter__(self):
-        return iter(self._servers)
-
-    def start(self):
-        # Zookeeper client expresses a preference for either lower ports or
-        # lexicographical ordering of hosts, to ensure that all servers have a
-        # chance to startup, start them in reverse order.
-        for server in reversed(list(self)):
-            server.run()
-        # Giving the servers a moment to start, decreases the overall time
-        # required for a client to successfully connect (2s vs. 4s without
-        # the sleep).
-        import time
-        time.sleep(2)
-
-    def stop(self):
-        for server in self:
-            server.stop()
-        self._servers = []
-
-    def terminate(self):
-        for server in self:
-            server.destroy()
-
-    def reset(self):
-        for server in self:
-            server.reset()
diff --git a/slider-agent/src/main/python/kazoo/testing/harness.py b/slider-agent/src/main/python/kazoo/testing/harness.py
deleted file mode 100644
index 93cc744..0000000
--- a/slider-agent/src/main/python/kazoo/testing/harness.py
+++ /dev/null
@@ -1,181 +0,0 @@
-"""license: Apache License 2.0, see LICENSE for more details."""
-"""Kazoo testing harnesses"""
-import atexit
-import logging
-import os
-import uuid
-import threading
-import unittest
-
-from kazoo.client import KazooClient
-from kazoo.exceptions import NotEmptyError
-from kazoo.protocol.states import (
-    KazooState
-)
-from kazoo.testing.common import ZookeeperCluster
-from kazoo.protocol.connection import _SESSION_EXPIRED
-
-log = logging.getLogger(__name__)
-
-CLUSTER = None
-
-
-def get_global_cluster():
-    global CLUSTER
-    if CLUSTER is None:
-        ZK_HOME = os.environ.get("ZOOKEEPER_PATH")
-        ZK_CLASSPATH = os.environ.get("ZOOKEEPER_CLASSPATH")
-        ZK_PORT_OFFSET = int(os.environ.get("ZOOKEEPER_PORT_OFFSET", 20000))
-
-        assert ZK_HOME or ZK_CLASSPATH, (
-            "either ZOOKEEPER_PATH or ZOOKEEPER_CLASSPATH environment variable "
-            "must be defined.\n"
-            "For deb package installations this is /usr/share/java")
-
-        CLUSTER = ZookeeperCluster(
-            install_path=ZK_HOME,
-            classpath=ZK_CLASSPATH,
-            port_offset=ZK_PORT_OFFSET,
-        )
-        atexit.register(lambda cluster: cluster.terminate(), CLUSTER)
-    return CLUSTER
-
-
-class KazooTestHarness(unittest.TestCase):
-    """Harness for testing code that uses Kazoo
-
-    This object can be used directly or as a mixin. It supports starting
-    and stopping a complete ZooKeeper cluster locally and provides an
-    API for simulating errors and expiring sessions.
-
-    Example::
-
-        class MyTestCase(KazooTestHarness):
-            def setUp(self):
-                self.setup_zookeeper()
-
-                # additional test setup
-
-            def tearDown(self):
-                self.teardown_zookeeper()
-
-            def test_something(self):
-                something_that_needs_a_kazoo_client(self.client)
-
-            def test_something_else(self):
-                something_that_needs_zk_servers(self.servers)
-
-    """
-
-    def __init__(self, *args, **kw):
-        super(KazooTestHarness, self).__init__(*args, **kw)
-        self.client = None
-        self._clients = []
-
-    @property
-    def cluster(self):
-        return get_global_cluster()
-
-    @property
-    def servers(self):
-        return ",".join([s.address for s in self.cluster])
-
-    def _get_nonchroot_client(self):
-        return KazooClient(self.servers)
-
-    def _get_client(self, **kwargs):
-        c = KazooClient(self.hosts, **kwargs)
-        try:
-            self._clients.append(c)
-        except AttributeError:
-            self._client = [c]
-        return c
-
-    def expire_session(self, client_id=None):
-        """Force ZK to expire a client session
-
-        :param client_id: id of client to expire. If unspecified, the id of
-                          self.client will be used.
-
-        """
-        client_id = client_id or self.client.client_id
-
-        lost = threading.Event()
-        safe = threading.Event()
-
-        def watch_loss(state):
-            if state == KazooState.LOST:
-                lost.set()
-            if lost.is_set() and state == KazooState.CONNECTED:
-                safe.set()
-                return True
-
-        self.client.add_listener(watch_loss)
-
-        self.client._call(_SESSION_EXPIRED, None)
-
-        lost.wait(5)
-        if not lost.isSet():
-            raise Exception("Failed to get notified of session loss")
-
-        # Wait for the reconnect now
-        safe.wait(15)
-        if not safe.isSet():
-            raise Exception("Failed to see client reconnect")
-        self.client.retry(self.client.get_async, '/')
-
-    def setup_zookeeper(self, **client_options):
-        """Create a ZK cluster and chrooted :class:`KazooClient`
-
-        The cluster will only be created on the first invocation and won't be
-        fully torn down until exit.
-        """
-        if not self.cluster[0].running:
-            self.cluster.start()
-        namespace = "/kazootests" + uuid.uuid4().hex
-        self.hosts = self.servers + namespace
-
-        if 'timeout' not in client_options:
-            client_options['timeout'] = 0.8
-        self.client = self._get_client(**client_options)
-        self.client.start()
-        self.client.ensure_path("/")
-
-    def teardown_zookeeper(self):
-        """Clean up any ZNodes created during the test
-        """
-        if not self.cluster[0].running:
-            self.cluster.start()
-
-        tries = 0
-        if self.client and self.client.connected:
-            while tries < 3:
-                try:
-                    self.client.retry(self.client.delete, '/', recursive=True)
-                    break
-                except NotEmptyError:
-                    pass
-                tries += 1
-            self.client.stop()
-            self.client.close()
-            del self.client
-        else:
-            client = self._get_client()
-            client.start()
-            client.retry(client.delete, '/', recursive=True)
-            client.stop()
-            client.close()
-            del client
-
-        for client in self._clients:
-            client.stop()
-            del client
-        self._clients = None
-
-
-class KazooTestCase(KazooTestHarness):
-    def setUp(self):
-        self.setup_zookeeper()
-
-    def tearDown(self):
-        self.teardown_zookeeper()