Skip to content
jandudek edited this page Aug 1, 2013 · 71 revisions

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();
}

What's new

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.0.0</version>
    <scope>test</scope>
</dependency>
Clone this wiki locally