Я использую CouchbaseMock для выполнения модульного теста, где клиент Couchbase отправит запрос N1QL на фиктивный сервер - PullRequest
1 голос
/ 23 сентября 2019

Вот пример модульного теста для сохранения данных в moch couchbase и извлечения только что сохраненных данных с использованием его идентификатора:

@Test
    public void saveTest() throws JSONException {
        JSONObject jo = new JSONObject();
        jo.put("id", 136);
        jo.put("name", "testName");
        jo.put("email", "testEmail");
        String result = couchBaseServerDataAccessImpl.save(jo.toString());

        String queryResult = couchBaseServerDataAccessImpl.getById("136");
        Assert.assertEquals(queryResult, result);


    }

А вот и след:

com.couchbase.client.core.CouchbaseException: java.lang.IndexOutOfBoundsException: readerIndex (0) + length (1) превышает writerIndex (0): PooledUnsafeDirectByteBuf (ridx: 0, widx: 0, cap: 256) в com.couch.core.endpoint.AbstractGenericHandler.decode (AbstractGenericHandler.java:369) в com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec $ 2.decode (MessageToMessageCodec.java:81) в com.couch.deps.io.netty.handler.codec.MessageToMessageDecoder.channelRead (MessageToMessageDecoder.java:88) в com.couchbase.client.deps.io.netty.handler.codec.MessageToMessageCodec.channelRead (MessageToMessageCodec.java) comcouchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:356) в com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:342) по адресу com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.jnelli.net.ouch..base. atb). at5CombinedChannelDuplexHandler $ DelegatingChannelHandlerContext.fireChannelRead (CombinedChannelDuplexHandler.java:438) в com.couchbase.client.deps.io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead.ge.eco.deco.dec.dec3Нет.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:356) в com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHand342) в com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:335) в com.couchbase.client.deps.io.netty.handler.timeout.IdleStateHandler.chanJava: 286) в com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:356) в com.couchbase.client.deps.io.netty.channel.AbstractChannelChannelChannelХаналJava: 342) в com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.fireChannelRead (AbstractChannelHandlerContext.java:335) в com.couchbase.client.deps.io.netty.channel.DefaultChannelConchan.plDefaultChannelPipeline.java:1304) в com.couchbase.client.deps.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead (AbstractChannelHandlerContext.java:356) в com.couchbase.client.deps.nelRehanChannelChand (AbstractChannelHandlerContext.java:342) в com.couchbase.client.deps.io.netty.channel.DefaultChannelPipeline.fireChannelRead (DefaultChannelPipeline.java:921) в com.couchbase.client.deps.io.netty.channel.nio.AbstractNioByteChannel $ NioByteUnsafe.read (AbstractNioByteChannel.java:135) в com.couchbase.client.deps.io.netty.channel.nio.NioEventLoop.processSelectedKey (NioEventLoop.java:646) в com.couch.netty.channel.nio.NioEventLoop.deps.io.netty.channel.nio.NioEventLoop.run (NioEventLoop.java:460) вcom.couchbase.client.deps.io.netty.util.concurrent.SingleThreadEventExecutor $ 2.run (SingleThreadEventExecutor.java:131) в com.couchbase.client.deps.io.netty.util.concurrent.FastThreadLocalRunnable.run (java: 30) at java.lang.Thread.run (Thread.java:748), вызванный: java.lang.IndexOutOfBoundsException: readerIndex (0) + length (1) превышает writerIndex (0): PooledUnsafeDirectByteBuf (ridx: 0, widx): 0, cap: 256) в com.couchbase.client.deps.io.netty.buffer.AbstractByteBuf.checkReadableBytes0 (AbstractByteBuf.java:1161) в com.couchbase.client.deps.io.netty.buffer.AbstractByteyuf(AbstractByteBuf.java:591) в com.couchbase.client.core.utils.yasjl.ByteBufJsonParser.readNextChar (ByteBufJsonParser.java:458) в com.couchbase.client.core.utils.yjfserp: 109) в com.couchbase.client.core.endpoint.query.parser.YasjlQueryResponseParser.parse (YasjlQueryResponseParser.java:337) в com.couchbase.client.core.endpoint.query.QueryHerler.decodeResponse (QueryHandlerV2.java:175) в com.couchbase.client.core.endpoint.query.QueryHandlerV2.decodeResponse (QueryHandlerV2.java:62) в com.couchbase.client.core.endpoint.AbstractGenicHer: 338) ... еще 29

...