Skip to content

Commit

Permalink
swisspost#162: stabilize some integration tests
Browse files Browse the repository at this point in the history
  • Loading branch information
roggerj committed Sep 7, 2017
1 parent 1c8e0e2 commit a1ad126
Showing 1 changed file with 34 additions and 20 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.swisspush.gateleen.routing;

import com.google.common.collect.ImmutableMap;
import com.jayway.awaitility.Duration;
import com.jayway.restassured.RestAssured;
import io.vertx.core.json.JsonObject;
import io.vertx.ext.unit.Async;
Expand All @@ -13,6 +14,7 @@

import static com.jayway.restassured.RestAssured.*;
import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.core.IsEqual.equalTo;
import static org.swisspush.gateleen.core.util.HttpRequestHeader.X_HOPS;

/**
Expand Down Expand Up @@ -78,17 +80,23 @@ public void testRequestHopValidationLimitExceeded(TestContext context) {
when().get("/loop/4/resource").then().assertThat().statusCode(200);

// get the test data via looping rules
when().get("/loop/1/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(2)));
when().get("/loop/2/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(2)));
when().get("/loop/3/resource").then().assertThat()
.statusCode(200)
.body(not(containsString(buildLimitExceededMessage(2))));
com.jayway.awaitility.Awaitility.given().await().atMost(Duration.ONE_SECOND).until(() ->
when().get("/loop/1/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(2)))
);
com.jayway.awaitility.Awaitility.given().await().atMost(Duration.ONE_SECOND).until(() ->
when().get("/loop/2/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(2)))
);
com.jayway.awaitility.Awaitility.given().await().atMost(Duration.ONE_SECOND).until(() ->
when().get("/loop/3/resource").then().assertThat()
.statusCode(200)
.body(not(containsString(buildLimitExceededMessage(2))))
);

async.complete();
}
Expand Down Expand Up @@ -197,15 +205,19 @@ public void testRequestHopValidationWithLimitZero(TestContext context) {
with().body("{\"request.hops.limit\":0}").put(ROUTING_CONFIG).then().assertThat().statusCode(200);

// prepare test data
with().body("{\"someKey\":"+System.currentTimeMillis()+"}").put("/loop/4/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(0)));
com.jayway.awaitility.Awaitility.given().await().atMost(Duration.ONE_SECOND).until(() ->
with().body("{\"someKey\":"+System.currentTimeMillis()+"}").put("/loop/4/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(0)))
);

when().get("/loop/4/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(0)));
com.jayway.awaitility.Awaitility.given().await().atMost(Duration.ONE_SECOND).until(() ->
when().get("/loop/4/resource").then().assertThat()
.statusCode(500)
.statusLine(containsString("Request hops limit exceeded"))
.body(containsString(buildLimitExceededMessage(0)))
);

delete(ROUTING_CONFIG);
validateRoutingConfig(false, 0);
Expand All @@ -228,7 +240,9 @@ public void testRequestHopValidationManualHeaderValue(TestContext context) {
TestUtils.putRoutingRules(rules);

// configure request hops limit to 10
with().body("{\"request.hops.limit\":10}").put(ROUTING_CONFIG).then().assertThat().statusCode(200);
com.jayway.awaitility.Awaitility.given().await().atMost(Duration.ONE_SECOND).until(() ->
with().body("{\"request.hops.limit\":10}").put(ROUTING_CONFIG).then().assertThat().statusCode(200)
);
validateRoutingConfig(true, 10);

// prepare test data
Expand Down

0 comments on commit a1ad126

Please sign in to comment.