Search in sources :

Example 6 with IteratingConditionExpression

use of com.consol.citrus.container.IteratingConditionExpression in project citrus-samples by christophd.

the class PlaceOrdersHttpIT method placeBlueberryCookieOrder.

@CitrusTest
public void placeBlueberryCookieOrder() {
    variable("orderId", Functions.randomNumber(10L, null));
    http().client(bakeryClient).send().post("/order").contentType(ContentType.APPLICATION_JSON.getMimeType()).payload("{ \"order\": { \"type\": \"blueberry\", \"id\": ${orderId}, \"amount\": 1}}");
    repeatOnError().until(new IteratingConditionExpression() {

        @Override
        public boolean evaluate(int index, TestContext context) {
            return index > 20;
        }
    }).autoSleep(100L).actions(http().client(reportingClient).send().get("/reporting/order").queryParam("id", "${orderId}"), http().client(reportingClient).receive().response(HttpStatus.OK).messageType(MessageType.JSON).payload("{\"status\": true}"));
    http().client(bakeryClient).receive().response(HttpStatus.OK).messageType(MessageType.PLAINTEXT);
}
Also used : IteratingConditionExpression(com.consol.citrus.container.IteratingConditionExpression) TestContext(com.consol.citrus.context.TestContext) CitrusTest(com.consol.citrus.annotations.CitrusTest)

Aggregations

CitrusTest (com.consol.citrus.annotations.CitrusTest)6 IteratingConditionExpression (com.consol.citrus.container.IteratingConditionExpression)6 TestContext (com.consol.citrus.context.TestContext)6 JmsEndpoint (com.consol.citrus.jms.endpoint.JmsEndpoint)3