use of com.couchbase.client.core.deps.io.netty.bootstrap.Bootstrap in project couchbase-jvm-clients by couchbase.
the class KeyValueChannelIntegrationTest method failWithInvalidBucketCredential.
@Test
void failWithInvalidBucketCredential() throws Exception {
String bucketName = "42eredwefrfe";
TestNodeConfig node = config().nodes().get(0);
Bootstrap bootstrap = new Bootstrap().remoteAddress(node.hostname(), node.ports().get(Services.KV)).group(eventLoopGroup).channel(NioSocketChannel.class).handler(new ChannelInitializer<SocketChannel>() {
@Override
protected void initChannel(SocketChannel ch) {
new KeyValueEndpoint.KeyValuePipelineInitializer(endpointContext, Optional.of(bucketName), endpointContext.authenticator()).init(null, ch.pipeline());
}
});
assertAuthenticationFailure(bootstrap, "Either the bucket with name \"" + bucketName + "\" is not present " + "or the user does not have the right privileges to access it");
}
use of com.couchbase.client.core.deps.io.netty.bootstrap.Bootstrap in project couchbase-jvm-clients by couchbase.
the class QueryMessageHandlerBackpressureTest method requestRecordsExplicitly.
/**
* This test makes sure that even if the server returns a good bunch of data, each individual
* chunk is requested by the caller explicitly.
*/
@Test
void requestRecordsExplicitly() throws Exception {
EndpointContext endpointContext = new EndpointContext(core.context(), new HostAndPort("127.0.0.1", 1234), NoopCircuitBreaker.INSTANCE, ServiceType.QUERY, Optional.empty(), Optional.empty(), Optional.empty());
BaseEndpoint endpoint = mock(BaseEndpoint.class);
when(endpoint.pipelined()).thenReturn(false);
Bootstrap client = new Bootstrap().channel(LocalChannel.class).group(new DefaultEventLoopGroup()).remoteAddress(new LocalAddress("s1")).handler(new ChannelInitializer<LocalChannel>() {
@Override
protected void initChannel(LocalChannel ch) {
ch.pipeline().addLast(new HttpClientCodec()).addLast(new QueryMessageHandler(endpoint, endpointContext));
}
});
Channel channel = client.connect().awaitUninterruptibly().channel();
final List<byte[]> rows = Collections.synchronizedList(new ArrayList<>());
QueryRequest request = new QueryRequest(Duration.ofSeconds(1), endpointContext, BestEffortRetryStrategy.INSTANCE, endpointContext.authenticator(), "select 1=1", "myquery".getBytes(UTF_8), true, null, null, null, null, null);
channel.writeAndFlush(request);
final QueryResponse response = request.response().get();
assertEquals(0, rows.size());
StepVerifier.create(response.rows().map(v -> new String(v.data(), UTF_8)), 0).thenRequest(1).expectNext("{\"foo\":1}").thenRequest(1).expectNext("{\"bar\":1}").thenRequest(2).expectNext("{\"faz\":1}", "{\"baz\":1}").thenRequest(4).expectNext("{\"fazz\":1}", "{\"bazz\":1}", "{\"fizz\":1}", "{\"bizz\":1}").expectComplete().verify();
}
Aggregations