def test_get_from_pool(self, rclient): cl = rapi_pool.get_rapi_client(1, "dummyhash", "cluster1", "5080", "user", "pass") rclient.assert_called_once_with("cluster1", "5080", "user", "pass") rapi_pool.put_rapi_client(cl) rclient.reset_mock() cl2 = rapi_pool.get_rapi_client(1, "dummyhash", "cluster1", "5080", "user", "pass") self.assertTrue(cl is cl2) self.assertFalse(rclient.mock_calls)
def test_changed_credentials(self, rclient): cl = rapi_pool.get_rapi_client(1, "dummyhash2", "cluster2", "5080", "user", "pass") rclient.assert_called_once_with("cluster2", "5080", "user", "pass") rapi_pool.put_rapi_client(cl) rclient.reset_mock() rapi_pool.get_rapi_client(1, "dummyhash3", "cluster2", "5080", "user", "new_pass") rclient.assert_called_once_with("cluster2", "5080", "user", "new_pass") self.assertFalse("dummyhash2" in rapi_pool._pools)
def test_changed_credentials(self, rclient): cl = rapi_pool.get_rapi_client(1, 'dummyhash2', 'cluster2', '5080', 'user', 'pass') rclient.assert_called_once_with("cluster2", "5080", "user", "pass") rapi_pool.put_rapi_client(cl) rclient.reset_mock() rapi_pool.get_rapi_client(1, 'dummyhash3', 'cluster2', '5080', 'user', 'new_pass') rclient.assert_called_once_with("cluster2", "5080", "user", "new_pass") self.assertFalse('dummyhash2' in rapi_pool._pools)
def test_get_from_pool(self, rclient): cl = rapi_pool.get_rapi_client(1, 'dummyhash', 'cluster1', '5080', 'user', 'pass') rclient.assert_called_once_with("cluster1", "5080", "user", "pass") rapi_pool.put_rapi_client(cl) rclient.reset_mock() cl2 = rapi_pool.get_rapi_client(1, 'dummyhash', 'cluster1', '5080', 'user', 'pass') self.assertTrue(cl is cl2) self.assertFalse(rclient.mock_calls)
def get_client(self): """Get or create a client. """ if self.offline: raise faults.ServiceUnavailable return get_rapi_client(self.id, self.hash, self.clustername, self.port, self.username, self.password)
def get_client(self): """Get or create a client. """ if self.offline: raise faults.ServiceUnavailable("Backend '%s' is offline" % self) return get_rapi_client(self.id, self.hash, self.clustername, self.port, self.username, self.password)
def pooled_rapi_client(obj): if isinstance(obj, (VirtualMachine, BackendNetwork)): backend = obj.backend else: backend = obj if backend.offline: log.warning("Trying to connect with offline backend: %s", backend) raise faults.ServiceUnavailable b = backend client = get_rapi_client(b.id, b.hash, b.clustername, b.port, b.username, b.password) try: yield client finally: put_rapi_client(client)
def pooled_rapi_client(obj): if isinstance(obj, VirtualMachine): backend = obj.backend else: backend = obj if backend.offline: log.warning("Trying to connect with offline backend: %s", backend) raise faults.ServiceUnavailable b = backend client = get_rapi_client(b.id, b.hash, b.clustername, b.port, b.username, b.password) try: yield client finally: put_rapi_client(client)
def test_no_pool(self, rclient): cl = rapi_pool.get_rapi_client(1, 'dummyhash2', 'cluster2', '5080', 'user', 'pass') cl._pool = None rapi_pool.put_rapi_client(cl) self.assertTrue(cl not in rapi_pool._pools.values())
def test_new_client(self, rclient): cl = rapi_pool.get_rapi_client(1, 'amxixa', 'cluster0', '5080', 'user', 'pass') rclient.assert_called_once_with("cluster0", "5080", "user", "pass") self.assertTrue('amxixa' in rapi_pool._pools) self.assertTrue(cl._pool is rapi_pool._pools[rapi_pool._hashes[1]])
def test_no_pool(self, rclient): cl = rapi_pool.get_rapi_client(1, "dummyhash2", "cluster2", "5080", "user", "pass") cl._pool = None rapi_pool.put_rapi_client(cl) self.assertTrue(cl not in rapi_pool._pools.values())
def test_new_client(self, rclient): cl = rapi_pool.get_rapi_client(1, "amxixa", "cluster0", "5080", "user", "pass") rclient.assert_called_once_with("cluster0", "5080", "user", "pass") self.assertTrue("amxixa" in rapi_pool._pools) self.assertTrue(cl._pool is rapi_pool._pools[rapi_pool._hashes[1]])