-
Notifications
You must be signed in to change notification settings - Fork 26
Home
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);
}
-
Jadler Usage Tutorial (embedded to the
net.jadler.Jadler
class) - Complete Documentation
- don't forget to follow Jadler on Twitter to learn easily about new releases and features: @JadlerMocker
- Changelog
New minor version 1.1.1 is now available thanks to a contribution from christiangalsterer!
Jadler 1.1.0 is out! Special thanks to benky and lukas-krecan for their contributions and reviews!
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!
Jadler 0.9.5 released! Special thanks to benky, liry and jumarko for their contributions!
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>