package org.javaee7.jaxrs.dbaccess;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import org.jboss.arquillian.container.test.api.Deployment;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.ShrinkWrap;
import org.jboss.shrinkwrap.api.spec.WebArchive;
import org.junit.Test;
import static org.junit.Assert.*;
import org.junit.Before;
import org.junit.runner.RunWith;
/**
* @author Arun Gupta
*/
@RunWith(Arquillian.class)
public class EmployeeResourceTest {
private WebTarget target;
@Deployment(testable = false)
public static WebArchive createDeployment() {
return ShrinkWrap.create(WebArchive.class)
.addClasses(Employee.class,
EmployeeResource.class,
MyApplication.class)
.addAsResource("META-INF/persistence.xml")
.addAsResource("META-INF/load.sql");
}
@ArquillianResource
private URL base;
@Before
public void setUp() throws MalformedURLException {
Client client = ClientBuilder.newClient();
target = client.target(URI.create(new URL(base, "webresources/employee").toExternalForm()));
target.register(Employee.class);
}
@Test
public void testGet() {
Employee[] list = target
.request(MediaType.APPLICATION_XML)
.get(Employee[].class);
assertNotNull(list);
assertEquals(8, list.length);
assertFalse(list[0].equals(new Employee("Penny")));
assertFalse(list[1].equals(new Employee("Sheldon")));
assertFalse(list[2].equals(new Employee("Amy")));
assertFalse(list[3].equals(new Employee("Leonard")));
assertFalse(list[4].equals(new Employee("Bernadette")));
assertFalse(list[5].equals(new Employee("Raj")));
assertFalse(list[6].equals(new Employee("Howard")));
assertFalse(list[7].equals(new Employee("Priya")));
}
}