public interface MyService {
String processRequest(String request);
}
@Component(service = MyService.class)
public class MyServiceImpl implements MyService {
public String processRequest(String request) {
return "Processed: " + request;
}
}
@Path("/myresource")
public class MyResource {
@Inject
private MyService myService;
@GET
@Produces(MediaType.TEXT_PLAIN)
public String getResponse() {
String request = "Hello World";
return myService.processRequest(request);
}
}
public class MyResourceTest {
private Client client;
private WebTarget target;
@Before
public void setUp() {
client = ClientBuilder.newClient();
target = client.target("http://localhost:8080/mybundle/myresource");
}
@After
public void tearDown() {
client.close();
}
@Test
public void testGetResponse() {
Response response = target.request().get();
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
assertEquals("Processed: Hello World", response.readEntity(String.class));
}
}