예제 #1
0
 def test_protocol2(self):
     res = bytes(format_args_in_redis_protocol("SET", "key", "foobar"))
     self.assertEqual(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
                      b"$6\r\nfoobar\r\n")
     res = bytes(format_args_in_redis_protocol("SET", "key",
                                               six.u("foobar")))
     self.assertEqual(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
                      b"$6\r\nfoobar\r\n")
예제 #2
0
 def test_protocol2(self):
     res = bytes(format_args_in_redis_protocol("SET", "key", "foobar"))
     self.assertEqual(
         res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
         b"$6\r\nfoobar\r\n")
     res = bytes(
         format_args_in_redis_protocol("SET", "key", six.u("foobar")))
     self.assertEqual(
         res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
         b"$6\r\nfoobar\r\n")
예제 #3
0
 def test_bigwrite(self):
     c = Connection(self._read_cb, self._close_cb)
     yield c.connect()
     data1 = format_args_in_redis_protocol("SET", "___foobar", BIG_VALUE)
     c.write(data1)
     data2 = format_args_in_redis_protocol("GET", "___foobar")
     c.write(data2)
     reply1 = yield self.reply_queue.get()
     reply2 = yield self.reply_queue.get()
     self.assertEquals(reply1, b"OK")
     self.assertEquals(reply2, BIG_VALUE)
     c.disconnect()
예제 #4
0
 def test_bigwrite(self):
     c = Connection(self._read_cb, self._close_cb)
     yield c.connect()
     data1 = format_args_in_redis_protocol("SET", "___foobar", BIG_VALUE)
     c.write(data1)
     data2 = format_args_in_redis_protocol("GET", "___foobar")
     c.write(data2)
     reply1 = yield self.reply_queue.get()
     reply2 = yield self.reply_queue.get()
     self.assertEqual(reply1, b"OK")
     self.assertEqual(reply2, BIG_VALUE)
     c.disconnect()
예제 #5
0
 def test_protocol6(self):
     wb = WriteBuffer()
     wb.append(b"foobar")
     res = bytes(format_args_in_redis_protocol("SET", "key", wb))
     self.assertEqual(
         res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
         b"$6\r\nfoobar\r\n")
예제 #6
0
파일: client.py 프로젝트: cnfuyu/tornadis
 def _simple_call_with_multiple_replies(self, replies, *args, **kwargs):
     original_callback = kwargs['callback']
     msg = format_args_in_redis_protocol(*args)
     callback = functools.partial(self._reply_aggregator, original_callback,
                                  replies)
     for _ in range(0, replies):
         self.__callback_queue.append(callback)
     self.__connection.write(msg)
예제 #7
0
파일: client.py 프로젝트: marrrvin/tornadis
 def _simple_call_with_multiple_replies(self, replies, *args, **kwargs):
     original_callback = kwargs['callback']
     msg = format_args_in_redis_protocol(*args)
     callback = functools.partial(self._reply_aggregator, original_callback,
                                  replies)
     for _ in range(0, replies):
         self.__callback_queue.append(callback)
     self.__connection.write(msg)
예제 #8
0
파일: client.py 프로젝트: cnfuyu/tornadis
 def _pipelined_call(self, pipeline, callback):
     buf = WriteBuffer()
     replies = len(pipeline.pipelined_args)
     cb = functools.partial(self._reply_aggregator, callback, replies)
     for args in pipeline.pipelined_args:
         self.__callback_queue.append(cb)
         tmp_buf = format_args_in_redis_protocol(*args)
         buf.append(tmp_buf)
     self.__connection.write(buf)
예제 #9
0
파일: client.py 프로젝트: marrrvin/tornadis
 def _pipelined_call(self, pipeline, callback):
     buf = WriteBuffer()
     replies = len(pipeline.pipelined_args)
     cb = functools.partial(self._reply_aggregator, callback, replies)
     for args in pipeline.pipelined_args:
         self.__callback_queue.append(cb)
         tmp_buf = format_args_in_redis_protocol(*args)
         buf.append(tmp_buf)
     self.__connection.write(buf)
예제 #10
0
 def _test_basic_write(self):
     c = Connection(self._read_cb, self._close_cb, connect_timeout=2)
     yield c.connect()
     data1 = format_args_in_redis_protocol("PING")
     data2 = b"*1\r\b$4\r\nQUIT\r\n"
     c.write(data1)
     c.write(data2)
     reply1 = yield self.reply_queue.get()
     self.assertEqual(reply1, b"PONG")
     reply2 = yield self.reply_queue.get()
     self.assertEqual(reply2, b"OK")
     c.disconnect()
예제 #11
0
 def _test_basic_write(self):
     c = Connection(self._read_cb, self._close_cb, connect_timeout=2)
     yield c.connect()
     data1 = format_args_in_redis_protocol("PING")
     data2 = b"*1\r\b$4\r\nQUIT\r\n"
     c.write(data1)
     c.write(data2)
     reply1 = yield self.reply_queue.get()
     self.assertEquals(reply1, b"PONG")
     reply2 = yield self.reply_queue.get()
     self.assertEquals(reply2, b"OK")
     c.disconnect()
예제 #12
0
 def test_write_on_closed_socket(self):
     c = Connection(self._read_cb, self._close_cb, connect_timeout=2)
     yield c.connect()
     data1 = format_args_in_redis_protocol("PING")
     data2 = b"*1\r\b$4\r\nQUIT\r\n"
     c.write(data1)
     c.write(data2)
     reply1 = yield self.reply_queue.get()
     self.assertEqual(reply1, b"PONG")
     reply2 = yield self.reply_queue.get()
     self.assertEqual(reply2, b"OK")
     c.write(data1)
     # Wait a short moment while the server closes the socket
     yield tornado.gen.sleep(.0001)
     c._handle_write()
     c._handle_read()
     self.assertFalse(c.is_connected())
     c.disconnect()
예제 #13
0
 def test_write_on_closed_socket(self):
     c = Connection(self._read_cb, self._close_cb, connect_timeout=2)
     yield c.connect()
     data1 = format_args_in_redis_protocol("PING")
     data2 = b"*1\r\b$4\r\nQUIT\r\n"
     c.write(data1)
     c.write(data2)
     reply1 = yield self.reply_queue.get()
     self.assertEquals(reply1, b"PONG")
     reply2 = yield self.reply_queue.get()
     self.assertEquals(reply2, b"OK")
     c.write(data1)
     # Wait a short moment while the server closes the socket
     yield tornado.gen.sleep(.0001)
     c._handle_write()
     c._handle_read()
     self.assertFalse(c.is_connected())
     c.disconnect()
예제 #14
0
 def test_protocol3(self):
     res = bytes(format_args_in_redis_protocol("SET", "key", six.u("\xe9")))
     self.assertEqual(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
                      b"$2\r\n\xc3\xa9\r\n")
예제 #15
0
파일: client.py 프로젝트: cnfuyu/tornadis
 def _simple_call(self, *args, **kwargs):
     callback = kwargs['callback']
     msg = format_args_in_redis_protocol(*args)
     self.__callback_queue.append(callback)
     self.__connection.write(msg)
예제 #16
0
 def test_protocol5(self):
     res = bytes(format_args_in_redis_protocol("SET", "key", 1))
     self.assertEqual(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
                      b"$1\r\n1\r\n")
예제 #17
0
 def test_protocol3(self):
     res = bytes(format_args_in_redis_protocol("SET", "key", six.u("\xe9")))
     self.assertEqual(
         res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
         b"$2\r\n\xc3\xa9\r\n")
예제 #18
0
 def test_protocol1(self):
     res = bytes(format_args_in_redis_protocol("PING"))
     self.assertEqual(res, b"*1\r\n$4\r\nPING\r\n")
예제 #19
0
 def test_protocol6(self):
     wb = WriteBuffer()
     wb.append(b"foobar")
     res = bytes(format_args_in_redis_protocol("SET", "key", wb))
     self.assertEqual(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
                      b"$6\r\nfoobar\r\n")
예제 #20
0
파일: client.py 프로젝트: marrrvin/tornadis
 def _simple_call(self, *args, **kwargs):
     callback = kwargs['callback']
     msg = format_args_in_redis_protocol(*args)
     self.__callback_queue.append(callback)
     self.__connection.write(msg)
예제 #21
0
 def test_protocol1(self):
     res = bytes(format_args_in_redis_protocol("PING"))
     self.assertEqual(res, b"*1\r\n$4\r\nPING\r\n")
예제 #22
0
 def test_protocol5(self):
     res = bytes(format_args_in_redis_protocol("SET", "key", 1))
     self.assertEqual(res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
                      b"$1\r\n1\r\n")
예제 #23
0
 def test_protocol4(self):
     res = bytes(format_args_in_redis_protocol("SET", "key", b"\000"))
     self.assertEquals(
         res, b"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n"
         b"$1\r\n\000\r\n")