Helper classes to test REST service using cucumber-jvm
This is only supposed to work with: Cucumber JVM
The main party trick is that all HTTP requests are recorded and added to the cucumber report so that it is obvious what is happening.
Usage
Take a look in /examples or Book DB example for a full setup.
pom.xml
<dependency>
    <groupId>de.leanovate.cucumber</groupId>
    <artifactId>rest-helper</artifactId>
    <version>0.9</version>
    <scope>test</scope>
</dependency> 
Ensure that you include classpath:de/leanovate/cucumber in your glue path. Like this:
@RunWith(Cucumber.class)
@CucumberOptions(plugin = {"pretty", "html:target/cucumber"}, tags = {"~@ignore"},
        glue = {"classpath:your/glue/package", "classpath:de/leanovate/cucumber"})
public class RunCukesTest {
} 
Now you can inject the TestHttpClient into your stepdefs:
import de.leanovate.cucumber.rest.TestHttpClient;
import org.apache.http.client.fluent.Request;
import static de.leanovate.cucumber.rest.RestAssertions.assertThat;
public class MyStepdefs {
    private final TestHttpClient client;
    
    public MyStepdefs(TestHttpClient client) {
    	  this.client = client;
    }
    
    @When("^Get the thing$")
    public void get_the_thing() throws Throwable {
        Request request = Request.Get("http://localhost/thing");
    		
        HttpResponse response = client.execute(request);
        
        assertThat(response).isOk();
    }
}