Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Home

pdudkiewicz edited this page · 55 revisions
Clone this wiki locally

Build Status

Welcome to Jadler, Java http mocking library.

If you need a simple way to create a stub http server in your integration tests and do some http communication mocking, look no further! Writing tests for http client applications can be as easy as:

@Test
public void getAccount() {

    onRequest()
        .havingMethodEqualTo("GET")
        .havingURIEqualTo("/accounts/1")
        .havingBody(isEmptyOrNullString())
        .havingHeaderEqualTo("Accept", "application/json")
    .respond()
        .withTimeout(2, SECONDS)
        .withStatus(200)
        .withBody("{\\"account\\":{\\"id\\" : 1}}")
        .withEncoding(Charset.forName("UTF-8"))
        .withContentType("application/json; charset=UTF-8");

    final AccountService service = new AccountServiceRestImpl("http", "localhost", port());
    final Account account = service.getAccount(1);

    assertThat(account, is(notNullValue()));
    assertThat(account.getId(), is(1));
}


@Test
public void deleteAccount() {

    onRequest()
        .havingMethodEqualTo("DELETE")
        .havingPathEqualTo("/accounts/1")
    .respond()
        .withStatus(204);

    final AccountService service = new AccountServiceRestImpl("http", "localhost", port());
    service.deleteAccount(1);

    verifyThatRequest()
        .havingMethodEqualTo("DELETE")
        .havingPathEqualTo("/accounts/1")
    .receivedOnce();
}

@Test
public void getFile() throws IOException{
    initJadlerListeningOn(8081).that().respondsWithDefaultStatus(200);
    String fileService = "http://localhost:8081/getExcelFile";

    byte[] bytes = IOUtils.toByteArray(new FileInputStream(myExcelFile));

    onRequest()
        .havingPathEqualTo("/getExcelFile")
    .respond()
        .withBody(bytes)
    .withContentType("application/vnd.ms-excel")
    .withHeader("Content-Length", Integer.toString(bytes.length));

    HttpClient client = new HttpClient(new MultiThreadedHttpConnectionManager());
    GetMethod get = new GetMethod(new URL(fileService).toExternalForm());
    int responseCode = client.executeMethod(get);

    assertEquals(200, responseCode);
    assertEquals(bytes.length, get.getResponseBodyAsString().getBytes().length);
}

What's new

2014-06-07

New minor version 1.1.1 is now available thanks to a contribution from christiangalsterer!

2013-11-02

Jadler 1.1.0 is out! Special thanks to benky and lukas-krecan for their contributions and reviews!

2013-07-01

Jadler 1.0.0 released! The first stable version is finally out! Special thanks to benky, liry and lukas-krecan for their contributions and reviews!

2013-03-18

Jadler 0.9.5 released! Special thanks to benky, liry and jumarko for their contributions!

Adding Jadler

To add Jadler to your Java project just put the following dependency to the Maven pom.xml file:

<dependency>
    <groupId>net.jadler</groupId>
    <artifactId>jadler-all</artifactId>
    <version>1.1.1</version>
    <scope>test</scope>
</dependency>
Something went wrong with that request. Please try again.