Search in sources :

Example 16 with HttpServerRequest

use of io.vertx.core.http.HttpServerRequest in project java-chassis by ServiceComb.

the class TestRestVertxHttpRequest method testGetQueryParam.

@Test
public void testGetQueryParam() {
    boolean status = true;
    try {
        HttpServerRequest httpServerRequest = Mockito.mock(HttpServerRequest.class);
        Deencapsulation.setField(instance, "request", httpServerRequest);
        MultiMap multiMap = Mockito.mock(MultiMap.class);
        Mockito.when(httpServerRequest.params()).thenReturn(multiMap);
        List<String> stringList = new ArrayList<String>();
        stringList.add("sters");
        Mockito.when(multiMap.getAll("key")).thenReturn(stringList);
        String[] str = instance.getQueryParam("key");
        Assert.assertEquals("sters", str[0]);
    } catch (Exception ex) {
        status = false;
    }
    Assert.assertTrue(status);
}
Also used : MultiMap(io.vertx.core.MultiMap) HttpServerRequest(io.vertx.core.http.HttpServerRequest) ArrayList(java.util.ArrayList) Test(org.junit.Test)

Example 17 with HttpServerRequest

use of io.vertx.core.http.HttpServerRequest in project java-chassis by ServiceComb.

the class TestRestVertxHttpRequest method testGetHeaderParam.

@Test
public void testGetHeaderParam() {
    boolean status = false;
    try {
        HttpServerRequest httpServerRequest = Mockito.mock(HttpServerRequest.class);
        Deencapsulation.setField(instance, "request", httpServerRequest);
        MultiMap multiMap = Mockito.mock(MultiMap.class);
        Mockito.when(httpServerRequest.headers()).thenReturn(multiMap);
        @SuppressWarnings({ "unchecked" }) Iterator<Entry<String, String>> iterator = Mockito.mock(Iterator.class);
        Mockito.when(multiMap.iterator()).thenReturn(iterator);
        Mockito.when(iterator.hasNext()).thenReturn(true).thenReturn(false);
        Assert.assertNotNull(instance.getHeaderParam("key"));
    } catch (Exception ex) {
        status = true;
    }
    Assert.assertTrue(status);
}
Also used : MultiMap(io.vertx.core.MultiMap) Entry(java.util.Map.Entry) HttpServerRequest(io.vertx.core.http.HttpServerRequest) Test(org.junit.Test)

Example 18 with HttpServerRequest

use of io.vertx.core.http.HttpServerRequest in project java-chassis by ServiceComb.

the class TestVertxToServletMockRequest method testGetLocalAddr.

@Test
public void testGetLocalAddr() {
    try {
        init();
        HttpServerRequest httpServerRequest = Mockito.mock(HttpServerRequest.class);
        Deencapsulation.setField(instance, "vertxRequest", httpServerRequest);
        SocketAddress socketAddress = Mockito.mock(SocketAddress.class);
        Mockito.when(httpServerRequest.localAddress()).thenReturn(socketAddress);
        Mockito.when(socketAddress.host()).thenReturn("localhost");
        Assert.assertEquals("localhost", instance.getLocalAddr());
    } catch (Exception e) {
        Assert.assertNotNull(e);
    } catch (Error e) {
        Assert.assertNotNull(e);
    }
}
Also used : HttpServerRequest(io.vertx.core.http.HttpServerRequest) SocketAddress(io.vertx.core.net.SocketAddress) IOException(java.io.IOException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) Test(org.junit.Test)

Example 19 with HttpServerRequest

use of io.vertx.core.http.HttpServerRequest in project java-chassis by ServiceComb.

the class TestVertxToServletMockRequest method testGetRemoteHost.

@Test
public void testGetRemoteHost() {
    try {
        init();
        HttpServerRequest httpServerRequest = Mockito.mock(HttpServerRequest.class);
        Deencapsulation.setField(instance, "vertxRequest", httpServerRequest);
        SocketAddress socketAddress = Mockito.mock(SocketAddress.class);
        Mockito.when(httpServerRequest.remoteAddress()).thenReturn(socketAddress);
        Mockito.when(socketAddress.host()).thenReturn("localhost");
        Assert.assertEquals("localhost", instance.getRemoteHost());
    } catch (Exception e) {
        Assert.assertNotNull(e);
    } catch (Error e) {
        Assert.assertNotNull(e);
    }
}
Also used : HttpServerRequest(io.vertx.core.http.HttpServerRequest) SocketAddress(io.vertx.core.net.SocketAddress) IOException(java.io.IOException) UnsupportedEncodingException(java.io.UnsupportedEncodingException) Test(org.junit.Test)

Example 20 with HttpServerRequest

use of io.vertx.core.http.HttpServerRequest in project vert.x by eclipse.

the class Http2ServerTest method testStreamWritability.

private void testStreamWritability(Function<HttpServerRequest, WriteStream<Buffer>> streamProvider) throws Exception {
    Context ctx = vertx.getOrCreateContext();
    String content = TestUtils.randomAlphaString(1024);
    StringBuilder expected = new StringBuilder();
    Future<Void> whenFull = Future.future();
    AtomicBoolean drain = new AtomicBoolean();
    server.requestHandler(req -> {
        WriteStream<Buffer> stream = streamProvider.apply(req);
        vertx.setPeriodic(1, timerID -> {
            if (stream.writeQueueFull()) {
                stream.drainHandler(v -> {
                    assertOnIOContext(ctx);
                    expected.append("last");
                    stream.end(Buffer.buffer("last"));
                });
                vertx.cancelTimer(timerID);
                drain.set(true);
                whenFull.complete();
            } else {
                expected.append(content);
                Buffer buf = Buffer.buffer(content);
                stream.write(buf);
            }
        });
    });
    startServer(ctx);
    TestClient client = new TestClient();
    ChannelFuture fut = client.connect(DEFAULT_HTTPS_PORT, DEFAULT_HTTPS_HOST, request -> {
        AtomicInteger toAck = new AtomicInteger();
        int id = request.nextStreamId();
        Http2ConnectionEncoder encoder = request.encoder;
        encoder.writeHeaders(request.context, id, GET("/"), 0, true, request.context.newPromise());
        request.decoder.frameListener(new Http2FrameAdapter() {

            StringBuilder received = new StringBuilder();

            @Override
            public int onDataRead(ChannelHandlerContext ctx, int streamId, ByteBuf data, int padding, boolean endOfStream) throws Http2Exception {
                received.append(data.toString(StandardCharsets.UTF_8));
                int delta = super.onDataRead(ctx, streamId, data, padding, endOfStream);
                if (endOfStream) {
                    vertx.runOnContext(v -> {
                        assertEquals(expected.toString(), received.toString());
                        testComplete();
                    });
                    return delta;
                } else {
                    if (drain.get()) {
                        return delta;
                    } else {
                        toAck.getAndAdd(delta);
                        return 0;
                    }
                }
            }
        });
        whenFull.setHandler(ar -> {
            request.context.executor().execute(() -> {
                try {
                    request.decoder.flowController().consumeBytes(request.connection.stream(id), toAck.intValue());
                    request.context.flush();
                } catch (Http2Exception e) {
                    e.printStackTrace();
                    fail(e);
                }
            });
        });
    });
    fut.sync();
    await();
}
Also used : Context(io.vertx.core.Context) ChannelHandlerContext(io.netty.channel.ChannelHandlerContext) Buffer(io.vertx.core.buffer.Buffer) ChannelFuture(io.netty.channel.ChannelFuture) Arrays(java.util.Arrays) GZIPInputStream(java.util.zip.GZIPInputStream) HttpServer(io.vertx.core.http.HttpServer) MultiMap(io.vertx.core.MultiMap) Http2ConnectionEncoder(io.netty.handler.codec.http2.Http2ConnectionEncoder) DefaultHttp2Connection(io.netty.handler.codec.http2.DefaultHttp2Connection) Context(io.vertx.core.Context) Unpooled(io.netty.buffer.Unpooled) Http2ConnectionDecoder(io.netty.handler.codec.http2.Http2ConnectionDecoder) ByteArrayInputStream(java.io.ByteArrayInputStream) HttpVersion(io.vertx.core.http.HttpVersion) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Http2Exception(io.netty.handler.codec.http2.Http2Exception) Map(java.util.Map) ApplicationProtocolNegotiationHandler(io.netty.handler.ssl.ApplicationProtocolNegotiationHandler) ReadStream(io.vertx.core.streams.ReadStream) AbstractHttp2ConnectionHandlerBuilder(io.netty.handler.codec.http2.AbstractHttp2ConnectionHandlerBuilder) Http2FrameAdapter(io.netty.handler.codec.http2.Http2FrameAdapter) StreamResetException(io.vertx.core.http.StreamResetException) ChannelDuplexHandler(io.netty.channel.ChannelDuplexHandler) ChannelInitializer(io.netty.channel.ChannelInitializer) Http2Flags(io.netty.handler.codec.http2.Http2Flags) Set(java.util.Set) ChannelPipeline(io.netty.channel.ChannelPipeline) Http2ConnectionHandler(io.netty.handler.codec.http2.Http2ConnectionHandler) Future(io.vertx.core.Future) InetSocketAddress(java.net.InetSocketAddress) Collectors(java.util.stream.Collectors) NioEventLoopGroup(io.netty.channel.nio.NioEventLoopGroup) StandardCharsets(java.nio.charset.StandardCharsets) Base64(java.util.Base64) List(java.util.List) Buffer(io.vertx.core.buffer.Buffer) SslHandler(io.netty.handler.ssl.SslHandler) Http2Headers(io.netty.handler.codec.http2.Http2Headers) HttpServerResponse(io.vertx.core.http.HttpServerResponse) Http2Error(io.netty.handler.codec.http2.Http2Error) HttpClient(io.vertx.core.http.HttpClient) NetSocket(io.vertx.core.net.NetSocket) Trust(io.vertx.test.core.tls.Trust) NioSocketChannel(io.netty.channel.socket.nio.NioSocketChannel) HttpServerRequest(io.vertx.core.http.HttpServerRequest) ByteArrayOutputStream(java.io.ByteArrayOutputStream) Http2EventAdapter(io.netty.handler.codec.http2.Http2EventAdapter) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) AtomicReference(java.util.concurrent.atomic.AtomicReference) Function(java.util.function.Function) ArrayList(java.util.ArrayList) HashSet(java.util.HashSet) ChannelHandlerContext(io.netty.channel.ChannelHandlerContext) HttpClientRequest(io.vertx.core.http.HttpClientRequest) ByteBuf(io.netty.buffer.ByteBuf) WriteStream(io.vertx.core.streams.WriteStream) Http2Stream(io.netty.handler.codec.http2.Http2Stream) BiConsumer(java.util.function.BiConsumer) AsyncResult(io.vertx.core.AsyncResult) HttpClientOptions(io.vertx.core.http.HttpClientOptions) HttpConnection(io.vertx.core.http.HttpConnection) EventLoopGroup(io.netty.channel.EventLoopGroup) VertxInternal(io.vertx.core.impl.VertxInternal) ClosedChannelException(java.nio.channels.ClosedChannelException) Vertx(io.vertx.core.Vertx) FileOutputStream(java.io.FileOutputStream) ApplicationProtocolNames(io.netty.handler.ssl.ApplicationProtocolNames) Test(org.junit.Test) IOException(java.io.IOException) SSLHelper(io.vertx.core.net.impl.SSLHelper) File(java.io.File) ChannelFuture(io.netty.channel.ChannelFuture) Channel(io.netty.channel.Channel) Http2Settings(io.netty.handler.codec.http2.Http2Settings) TimeUnit(java.util.concurrent.TimeUnit) Consumer(java.util.function.Consumer) Bootstrap(io.netty.bootstrap.Bootstrap) AtomicLong(java.util.concurrent.atomic.AtomicLong) Http2Connection(io.netty.handler.codec.http2.Http2Connection) HttpMethod(io.vertx.core.http.HttpMethod) HttpUtils(io.vertx.core.http.impl.HttpUtils) HttpServerOptions(io.vertx.core.http.HttpServerOptions) HttpHeaderNames(io.netty.handler.codec.http.HttpHeaderNames) Handler(io.vertx.core.Handler) Collections(java.util.Collections) TestUtils.assertIllegalStateException(io.vertx.test.core.TestUtils.assertIllegalStateException) DefaultHttp2Headers(io.netty.handler.codec.http2.DefaultHttp2Headers) Http2Exception(io.netty.handler.codec.http2.Http2Exception) Http2FrameAdapter(io.netty.handler.codec.http2.Http2FrameAdapter) ChannelHandlerContext(io.netty.channel.ChannelHandlerContext) ByteBuf(io.netty.buffer.ByteBuf) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Http2ConnectionEncoder(io.netty.handler.codec.http2.Http2ConnectionEncoder)

Aggregations

HttpServerRequest (io.vertx.core.http.HttpServerRequest)31 Test (org.junit.Test)27 MultiMap (io.vertx.core.MultiMap)16 IOException (java.io.IOException)16 Buffer (io.vertx.core.buffer.Buffer)14 ArrayList (java.util.ArrayList)14 HttpServerOptions (io.vertx.core.http.HttpServerOptions)13 HashSet (java.util.HashSet)13 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)12 Bootstrap (io.netty.bootstrap.Bootstrap)10 ByteBuf (io.netty.buffer.ByteBuf)10 Unpooled (io.netty.buffer.Unpooled)10 Channel (io.netty.channel.Channel)10 ChannelDuplexHandler (io.netty.channel.ChannelDuplexHandler)10 ChannelFuture (io.netty.channel.ChannelFuture)10 ChannelHandlerContext (io.netty.channel.ChannelHandlerContext)10 ChannelInitializer (io.netty.channel.ChannelInitializer)10 ChannelPipeline (io.netty.channel.ChannelPipeline)10 EventLoopGroup (io.netty.channel.EventLoopGroup)10 NioEventLoopGroup (io.netty.channel.nio.NioEventLoopGroup)10