class ErrorCodeTestCase(unittest.TestCase): def setUp(self): self.mc = Client(["127.0.0.1:21211"]) assert self.mc.version() assert self.mc.get_last_error() == MC_RETURN_OK assert self.mc.get_last_strerror() == "ok" def test_invalid_key(self): self.mc.get('invalid key') assert self.mc.get_last_error() == MC_RETURN_INVALID_KEY_ERR assert self.mc.get_last_strerror() == "invalid_key_error" def test_mc_server_err(self): mc = Client(["not_exist_host:11211"]) mc.get('valid_key') assert mc.get_last_error() == MC_RETURN_MC_SERVER_ERR assert mc.get_last_strerror() == "server_error"
class ErrorCodeTestCase(unittest.TestCase): def setUp(self): self.mc = Client(["127.0.0.1:21211"]) assert self.mc.version() assert self.mc.get_last_error() == MC_RETURN_OK assert self.mc.get_last_strerror() == "ok" def test_invalid_key(self): self.mc.get('invalid key') assert self.mc.get_last_error() == MC_RETURN_INVALID_KEY_ERR assert self.mc.get_last_strerror() == "invalid_key_error" def test_mc_server_err(self): mc = Client(["not_exist_host:11211"]) mc.get('valid_key') assert mc.get_last_error() == MC_RETURN_MC_SERVER_ERR assert mc.get_last_strerror() == "server_error"
class MCStore(object): def __init__(self, server): self.server = server self.mc = Client([server], do_split=0) def __del__(self): self.close() def __repr__(self): return '<MCStore(server=%s)>' % repr(self.server) def __str__(self): return self.server def set(self, key, data, rev=0): return bool(self.mc.set(key, data, rev)) def set_raw(self, key, data, rev=0, flag=0): # interface for sync data if rev < 0: raise str(rev) return self.mc.set_raw(key, data, rev, flag) def get(self, key): try: r = self.mc.get(key) if r is None and self.mc.get_last_error() != 0: raise IOError(self.mc.get_last_error()) return r except ValueError: self.mc.delete(key) def get_raw(self, key): r, flag = self.mc.get_raw(key) if r is None and self.mc.get_last_error() != 0: raise IOError( self.mc.get_last_error(), self.mc.get_last_strerror()) return r, flag def get_multi(self, keys): return self.mc.get_multi(keys) def delete(self, key): return bool(self.mc.delete(key)) def close(self): if self.mc is not None: self.mc = None
class MCStore(object): def __init__(self, server): self.server = server self.mc = Client([server], do_split=0) def __del__(self): self.close() def __repr__(self): return '<MCStore(server=%s)>' % repr(self.server) def __str__(self): return self.server def set(self, key, data, rev=0): return bool(self.mc.set(key, data, rev)) def set_raw(self, key, data, rev=0, flag=0): # interface for sync data if rev < 0: raise str(rev) return self.mc.set_raw(key, data, rev, flag) def get(self, key): try: r = self.mc.get(key) if r is None and self.mc.get_last_error() != 0: raise IOError(self.mc.get_last_error()) return r except ValueError: self.mc.delete(key) def get_raw(self, key): r, flag = self.mc.get_raw(key) if r is None and self.mc.get_last_error() != 0: raise IOError( self.mc.get_last_error(), self.mc.get_last_strerror()) return r, flag def get_multi(self, keys): return self.mc.get_multi(keys) def delete(self, key): return bool(self.mc.delete(key)) def close(self): if self.mc is not None: self.mc = None
def test_mc_server_err(self): mc = Client(["not_exist_host:11211"]) mc.get('valid_key') assert mc.get_last_error() == MC_RETURN_MC_SERVER_ERR assert mc.get_last_strerror() == "server_error"
def test_mc_server_err(self): mc = Client(["not_exist_host:11211"]) mc.get('valid_key') assert mc.get_last_error() == MC_RETURN_MC_SERVER_ERR assert mc.get_last_strerror() == "server_error"