def test_convert_gqtp_result_fail(self): grn = Groonga() s = grn._clock_gettime() e = grn._clock_gettime() senddata = get_send_data_for_gqtp("status") rawdata = senddata[:GQTP_HEADER_SIZE] + b'{"test": 0}' d = convert_gqtp_result_data(s, e, GRN_STATUS_UNSUPPORTED_COMMAND_VERSION, rawdata) d = json.loads(d) self.assertEqual(d[0][0], -71)
def test_convert_gqtp_result(self): grn = Groonga() s = grn._clock_gettime() e = grn._clock_gettime() senddata = get_send_data_for_gqtp("status") rawdata = senddata[:GQTP_HEADER_SIZE] + b'{"test": 0}' d = convert_gqtp_result_data(s, e, 0, rawdata) d = json.loads(d) self.assertEqual(d[0][0], 0)
def test_convert_gqtp_result_fail(self): grn = Groonga() s = grn._clock_gettime() e = grn._clock_gettime() senddata = get_send_data_for_gqtp("status") rawdata = senddata[:GQTP_HEADER_SIZE] + b"{\"test\": 0}" d = convert_gqtp_result_data(s, e, GRN_STATUS_UNSUPPORTED_COMMAND_VERSION, rawdata) d = json.loads(d) self.assertEqual(d[0][0], -71)
def test_convert_gqtp_result(self): grn = Groonga() s = grn._clock_gettime() e = grn._clock_gettime() senddata = get_send_data_for_gqtp("status") rawdata = senddata[:GQTP_HEADER_SIZE] + b"{\"test\": 0}" d = convert_gqtp_result_data(s, e, 0, rawdata) d = json.loads(d) self.assertEqual(d[0][0], 0)
async def _call_gqtp(self, cmd, **kwargs): _start = self._grn._clock_gettime() with async_timeout.timeout(self._timeout): _r, _w = await asyncio.open_connection(self.host, self.port, loop=self.loop) _w.write(get_send_data_for_gqtp(cmd, **kwargs)) with async_timeout.timeout(self._timeout): await _w.drain() with async_timeout.timeout(self._timeout): raw_data = await _r.read(self._recv_buf) proto, qtype, keylen, level, flags, status, size, opaque, cas \ = struct.unpack("!BBHBBHIIQ", raw_data[:GQTP_HEADER_SIZE]) while len(raw_data) < size + GQTP_HEADER_SIZE: raw_data += await _r.read(self._recv_buf) _end = self._grn._clock_gettime() _w.close() return convert_gqtp_result_data(_start, _end, status, raw_data)