def setUp(self): zoo_client = MagicMock() zoo_client.get = MagicMock(return_value=('data', 'blah')) with patch('scutils.zookeeper_watcher.KazooClient') as k: k.return_value = zoo_client self.zoo_watcher = ZookeeperWatcher(hosts='localhost', filepath='/mypath', pointer=False, ensure=True, valid_init=True)
def test_get_file_contents(self): pointer_zoo_watcher = ZookeeperWatcher(hosts=self.hosts, filepath=self.pointer_path, pointer=True, ensure=False, valid_init=True) self.assertEqual(self.zoo_watcher.get_file_contents(), self.file_data) self.assertEqual(pointer_zoo_watcher.get_file_contents(), self.file_data) self.assertEqual(pointer_zoo_watcher.get_file_contents(True), self.pointer_data) pointer_zoo_watcher.close()
def setUp(self): self.zoo_client = KazooClient(hosts=self.hosts) self.zoo_client.start() # prepare data self.zoo_client.ensure_path(self.file_path) self.zoo_client.set(self.file_path, self.file_data.encode('utf-8')) self.zoo_client.ensure_path(self.pointer_path) self.zoo_client.set(self.pointer_path, self.pointer_data.encode('utf-8')) self.zoo_watcher = ZookeeperWatcher(hosts=self.hosts, filepath=self.file_path, pointer=False, ensure=False, valid_init=True)
def setup_zookeeper(self): self.assign_path = settings.get('ZOOKEEPER_ASSIGN_PATH', "") self.my_id = settings.get('ZOOKEEPER_ID', 'all') self.logger.debug("Trying to establish Zookeeper connection") try: self.zoo_watcher = ZookeeperWatcher( hosts=settings.get('ZOOKEEPER_HOSTS'), filepath=self.assign_path + self.my_id, config_handler=self.change_config, error_handler=self.error_config, pointer=False, ensure=True, valid_init=True) except KazooTimeoutError: self.logger.error("Could not connect to Zookeeper") sys.exit(1) if self.zoo_watcher.ping(): self.logger.debug("Successfully set up Zookeeper connection") else: self.logger.error("Could not ping Zookeeper") sys.exit(1)
def valid_file(state): print "The valid state is now", state def change_file(conf_string): print "Your file contents:", conf_string def error_file(message): print "An error was thrown:", message # You can use any or all of these, polling + handlers, some handlers, etc if pointer: if poll: zoo_watcher = ZookeeperWatcher(hosts, file, ensure=True, pointer=True) elif event: zoo_watcher = ZookeeperWatcher(hosts, file, valid_handler=valid_file, config_handler=change_file, error_handler=error_file, pointer=True, ensure=True, valid_init=valid) else: if poll: zoo_watcher = ZookeeperWatcher(hosts, file, ensure=True) elif event: zoo_watcher = ZookeeperWatcher(hosts, file,