Saptarshi Basu 4fe878d6d4 JAX-RS Client [BAEL-595] (#992)
* WatchService vs. Apache Commons IO Mnitoring

* Indentation fixed

* Indentation fixed

* JAX-RS API using Jersey [BAEL-558]

* JAX-RS API using Jersey [BAEL-558]

* Modifications made to remove xml

* applicationContext.xml removed

* All try catch moved to ExceptionMapper

* fixes

* review comments incorporated

* module renamed

* JAX-RS client [BAEL-595]

* jersey-core dependency removed

* assert changed to assertEquals

* messagebody readers and writers removed

* pom dependency corrected and other minor changes
2017-01-31 00:47:23 -07:00

92 lines
3.6 KiB
Java

package com.baeldung.server;
import static org.junit.Assert.assertEquals;
import com.baeldung.server.model.Employee;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.junit.Test;
import java.io.IOException;
public class JerseyApiLiveTest {
private static final String SERVICE_URL = "http://localhost:8082/spring-jersey/resources/employees";
@Test
public void givenGetAllEmployees_whenCorrectRequest_thenResponseCodeSuccess() throws IOException {
final HttpUriRequest request = new HttpGet(SERVICE_URL);
final HttpResponse httpResponse = HttpClientBuilder.create().build().execute(request);
assertEquals(httpResponse.getStatusLine().getStatusCode(), HttpStatus.SC_OK);
}
@Test
public void givenGetEmployee_whenEmployeeExists_thenResponseCodeSuccess() throws IOException {
final HttpUriRequest request = new HttpGet(SERVICE_URL + "/1");
final HttpResponse httpResponse = HttpClientBuilder.create().build().execute(request);
assertEquals(httpResponse.getStatusLine().getStatusCode(), HttpStatus.SC_OK);
}
@Test
public void givenGetEmployee_whenEmployeeDoesNotExist_thenResponseCodeNotFound() throws IOException {
final HttpUriRequest request = new HttpGet(SERVICE_URL + "/1000");
final HttpResponse httpResponse = HttpClientBuilder.create().build().execute(request);
assertEquals(httpResponse.getStatusLine().getStatusCode(), HttpStatus.SC_NOT_FOUND);
}
@Test
public void givenGetEmployee_whenJsonRequested_thenCorrectDataRetrieved() throws IOException {
final HttpUriRequest request = new HttpGet(SERVICE_URL + "/1");
request.setHeader("Accept", "application/json");
final HttpResponse httpResponse = HttpClientBuilder.create().build().execute(request);
ObjectMapper mapper = new ObjectMapper();
Employee emp = mapper.readValue(httpResponse.getEntity().getContent(), Employee.class);
assertEquals(emp.getFirstName(), "Jane");
}
@Test
public void givenAddEmployee_whenJsonRequestSent_thenResponseCodeCreated() throws IOException {
final HttpPost request = new HttpPost(SERVICE_URL);
Employee emp = new Employee(5, "Johny");
ObjectMapper mapper = new ObjectMapper();
String empJson = mapper.writeValueAsString(emp);
StringEntity input = new StringEntity(empJson);
input.setContentType("application/json");
request.setEntity(input);
final HttpResponse httpResponse = HttpClientBuilder.create().build().execute(request);
assertEquals(httpResponse.getStatusLine().getStatusCode(), HttpStatus.SC_CREATED);
}
@Test
public void givenAddEmployee_whenRequestForExistingObjectSent_thenResponseCodeConflict() throws IOException {
final HttpPost request = new HttpPost(SERVICE_URL);
Employee emp = new Employee(1, "Johny");
ObjectMapper mapper = new ObjectMapper();
String empJson = mapper.writeValueAsString(emp);
StringEntity input = new StringEntity(empJson);
input.setContentType("application/json");
request.setEntity(input);
final HttpResponse httpResponse = HttpClientBuilder.create().build().execute(request);
assertEquals(httpResponse.getStatusLine().getStatusCode(), HttpStatus.SC_CONFLICT);
}
}