Search in sources :

Example 71 with LiveHttpRequest

use of com.hotels.styx.api.LiveHttpRequest in project styx by ExpediaGroup.

the class ViaHeaderAppendingInterceptorTest method addsViaHeaderToRequestWhenItIsPresentButEmpty.

@Test
public void addsViaHeaderToRequestWhenItIsPresentButEmpty() throws Exception {
    LiveHttpRequest request = post("/foo").header(VIA, "").build();
    LiveHttpRequest interceptedRequest = interceptRequest(interceptor, request);
    assertThat(interceptedRequest.headers().get(VIA), isValue("1.1 styx"));
}
Also used : LiveHttpRequest(com.hotels.styx.api.LiveHttpRequest) Test(org.junit.jupiter.api.Test)

Example 72 with LiveHttpRequest

use of com.hotels.styx.api.LiveHttpRequest in project styx by ExpediaGroup.

the class ViaHeaderAppendingInterceptorTest method addsViaHeaderToRequestIfNotAlreadyPresent.

@Test
public void addsViaHeaderToRequestIfNotAlreadyPresent() throws Exception {
    LiveHttpRequest request = post("/foo").header(HOST, "www.example.com:8000").build();
    LiveHttpRequest interceptedRequest = interceptRequest(interceptor, request);
    assertThat(interceptedRequest.headers().get(VIA), isValue("1.1 styx"));
}
Also used : LiveHttpRequest(com.hotels.styx.api.LiveHttpRequest) Test(org.junit.jupiter.api.Test)

Example 73 with LiveHttpRequest

use of com.hotels.styx.api.LiveHttpRequest in project styx by ExpediaGroup.

the class AntlrConditionTest method cookieValueMatchesWithString.

@Test
public void cookieValueMatchesWithString() {
    Condition condition = condition("cookie('TheCookie') == 'foobar-foobar-baz'");
    LiveHttpRequest request = newRequest().cookies(requestCookie("TheCookie", "foobar-foobar-baz")).header("App-Name", "app3").build();
    assertThat(condition.evaluate(request, context), is(true));
    request = newRequest().cookies(requestCookie("AnotherCookie", "foobar-baz")).header("App-Name", "app3").build();
    assertThat(condition.evaluate(request, context), is(false));
    request = newRequest().header("App-Name", "app3").build();
    assertThat(condition.evaluate(request, context), is(false));
}
Also used : Condition(com.hotels.styx.server.routing.Condition) LiveHttpRequest(com.hotels.styx.api.LiveHttpRequest) Test(org.junit.jupiter.api.Test)

Example 74 with LiveHttpRequest

use of com.hotels.styx.api.LiveHttpRequest in project styx by ExpediaGroup.

the class AntlrConditionTest method matchesHeaderPresence.

@Test
public void matchesHeaderPresence() {
    Condition condition = condition("header('Host')");
    LiveHttpRequest request = newRequest("/foo").header(HOST, "bbc.co.uk").build();
    assertThat(condition.evaluate(request, context), is(true));
    LiveHttpRequest request2 = newRequest("/foo").build();
    assertThat(condition.evaluate(request2, context), is(false));
}
Also used : Condition(com.hotels.styx.server.routing.Condition) LiveHttpRequest(com.hotels.styx.api.LiveHttpRequest) Test(org.junit.jupiter.api.Test)

Example 75 with LiveHttpRequest

use of com.hotels.styx.api.LiveHttpRequest in project styx by ExpediaGroup.

the class AntlrConditionTest method cookieValueMatchesWithRegexp.

@Test
public void cookieValueMatchesWithRegexp() {
    Condition condition = condition("cookie('TheCookie') =~ 'foobar-.*-baz'");
    LiveHttpRequest request = newRequest().cookies(requestCookie("TheCookie", "foobar-foobar-baz")).header("App-Name", "app3").build();
    assertThat(condition.evaluate(request, context), is(true));
    request = newRequest().cookies(requestCookie("AnotherCookie", "foobar-x-baz")).header("App-Name", "app3").build();
    assertThat(condition.evaluate(request, context), is(false));
    request = newRequest().header("App-Name", "app3").build();
    assertThat(condition.evaluate(request, context), is(false));
}
Also used : Condition(com.hotels.styx.server.routing.Condition) LiveHttpRequest(com.hotels.styx.api.LiveHttpRequest) Test(org.junit.jupiter.api.Test)

Aggregations

LiveHttpRequest (com.hotels.styx.api.LiveHttpRequest)82 Test (org.junit.jupiter.api.Test)76 Condition (com.hotels.styx.server.routing.Condition)19 LiveHttpResponse (com.hotels.styx.api.LiveHttpResponse)14 HttpHandler (com.hotels.styx.api.HttpHandler)10 MicrometerRegistry (com.hotels.styx.api.MicrometerRegistry)9 SimpleMeterRegistry (io.micrometer.core.instrument.simple.SimpleMeterRegistry)9 MeterRegistry (com.hotels.styx.api.MeterRegistry)8 BackendService (com.hotels.styx.api.extension.service.BackendService)7 Registry (com.hotels.styx.api.extension.service.spi.Registry)7 Eventual (com.hotels.styx.api.Eventual)6 HttpInterceptor (com.hotels.styx.api.HttpInterceptor)6 HttpResponse (com.hotels.styx.api.HttpResponse)5 Origin.newOriginBuilder (com.hotels.styx.api.extension.Origin.newOriginBuilder)5 DefaultHttpRequest (io.netty.handler.codec.http.DefaultHttpRequest)5 UTF_8 (java.nio.charset.StandardCharsets.UTF_8)5 ParameterizedTest (org.junit.jupiter.params.ParameterizedTest)5 Mono (reactor.core.publisher.Mono)5 HttpRequestMessageLogger (com.hotels.styx.common.logging.HttpRequestMessageLogger)4 DefaultFullHttpRequest (io.netty.handler.codec.http.DefaultFullHttpRequest)4