Ejemplo n.º 1
0
def test_key_pexpireat_pttl():
    import time
    operation.handle_req(["SET", "KEY_PTTL_AT", "123"])
    ret = operation.handle_req(["PEXPIREAT", "KEY_PTTL_AT", "%s" % (time.time()*1000 + 999)])
    assert(ret == [":1\r\n"])

    ret = operation.handle_req(["PTTL", "KEY_PTTL_AT"])
    assert(ret and (int(ret[0][1:].strip()) < 1010 ))
Ejemplo n.º 2
0
def test_key_get():
    operation.handle_req(["SET", "KEY", "123"])
    ret = operation.handle_req(["GET", "KEY"])
    assert(ret == ["$3\r\n123\r\n"])

    operation.handle_req(["SET", "KEY", "1234"])
    ret = operation.handle_req(["GET", "KEY"])
    assert(ret == ["$4\r\n1234\r\n"])
Ejemplo n.º 3
0
def test_key_expire_ttl():
    operation.handle_req(["SET", "KEY_TTL", "123"])
    ret = operation.handle_req(["TTL", "KEY_NIL"])
    assert(ret == [":-2\r\n"])

    ret = operation.handle_req(["TTL", "KEY_TTL"])
    assert(ret == [":-1\r\n"])

    ret = operation.handle_req(["EXPIRE", "KEY_TTL_NIL", "1000"])
    assert(ret == [":0\r\n"])

    ret = operation.handle_req(["EXPIRE", "KEY_TTL", "1000"])
    assert(ret == [":1\r\n"])

    ret = operation.handle_req(["TTL", "KEY_TTL"])
    assert(ret == [":999\r\n"])

    import time
    ret = operation.handle_req(["EXPIREAT", "KEY_TTL", "%s" % (time.time() + 999)])
    assert(ret == [":1\r\n"])

    ret = operation.handle_req(["TTL", "KEY_TTL"])
    assert(ret == [":999\r\n"] or ret == [":998\r\n"])
Ejemplo n.º 4
0
def test_key_pexpire_pttl():
    operation.handle_req(["SET", "KEY_PTTL", "123"])
    ret = operation.handle_req(["TTL", "KEY_NIL"])
    assert(ret == [":-2\r\n"])

    ret = operation.handle_req(["TTL", "KEY_PTTL"])
    assert(ret == [":-1\r\n"])

    ret = operation.handle_req(["PEXPIRE", "KEY_PTTL", "1000"])
    assert(ret == [":1\r\n"])

    ret = operation.handle_req(["PTTL", "KEY_PTTL"])
    assert(ret == [":999\r\n"])
Ejemplo n.º 5
0
    def handle(self):
        s = self.request
        try:
            while True:
                paras = []
                f = s.makefile()
                count = f.readline()
                # resp = operation.encode_para(["-ERR unknown error"])
                if count.startswith("*"):
                    count = int(count[1:].strip())
                    logging.debug(count)

                    for x in range(count):
                        length = f.readline().strip()
                        logging.debug(length)
                        if length.startswith("$"):
                            length = int(length[1:])
                            value = f.read(length)
                            f.read(2)  # skip CR LF
                            logging.debug("%s, %s", length, value)
                            paras.append(value)
                        else:
                            # resp = operation.encode_para(["-ERR parameters error"])
                            pass
                    ret = operation.handle_req(paras)
                    if len(ret) > 1:
                        resp = "*%s\r\n%s" % (len(ret), "".join(ret))
                    else:
                        resp = "".join(ret)

                else:
                    resp = operation.encode_para(["-ERR parameters error"])

                f.write(resp)
                logging.debug("%s => %s" % (str(paras), repr(resp)))
        except Exception, e:
            logging.warn("%s: %s", s.getpeername(), str(e))
Ejemplo n.º 6
0
def test_key_set():
    ret = operation.handle_req(["SET", "KEY", "123"])
    assert(ret == ["$2\r\nOK\r\n"])
Ejemplo n.º 7
0
def test_key_get_none():
    ret = operation.handle_req(["GET", "KEY_NIL"])
    assert(ret == ["$-1\r\n"])