package guide; import org.glassfish.grizzly.http.Method; import org.glassfish.grizzly.http.util.HttpStatus; import org.junit.After; import org.junit.Before; import org.junit.Test; import com.jayway.restassured.RestAssured; import com.xebialabs.restito.server.StubServer; import static com.jayway.restassured.RestAssured.expect; import static com.jayway.restassured.RestAssured.given; import static com.xebialabs.restito.builder.stub.StubHttp.whenHttp; import static com.xebialabs.restito.builder.verify.VerifyHttp.verifyHttp; import static com.xebialabs.restito.semantics.Action.status; import static com.xebialabs.restito.semantics.Condition.*; public class SimpleVerificationsTest { private StubServer server; @Before public void start() { server = new StubServer().run(); RestAssured.port = server.getPort(); } @After public void stop() { server.stop(); } @Test public void shouldPassVerification() { // Restito whenHttp(server). match(endsWithUri("/demo")). then(status(HttpStatus.OK_200)); // Rest-assured expect().statusCode(200).when().get("/demo"); // Restito verifyHttp(server).once( method(Method.GET), uri("/demo") ); } @Test(expected = AssertionError.class) public void shouldFailWhenUrlIsNotCalled() { verifyHttp(server).once( method(Method.POST), uri("/demo"), parameter("foo", "bar") ); } @Test(expected = AssertionError.class) public void shouldFailWhenParametersExpectedButWrongOnesGiven() { whenHttp(server). match(endsWithUri("/demo")). then(status(HttpStatus.OK_200)); given().param("foo", "bar").get("/demo"); verifyHttp(server).once( method(Method.GET), uri("/demo"), parameter("another", "pair") ); } @Test(expected = AssertionError.class) public void shouldFailWhenMethodIsWrong() { whenHttp(server). match(endsWithUri("/demo")). then(status(HttpStatus.OK_200)); given().param("foo", "bar").get("/demo"); verifyHttp(server).once( method(Method.POST), uri("/demo"), parameter("foo", "bar") ); } }