package org.gcube.vremanagement.contextmanager; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; import javax.ws.rs.core.Application; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import org.gcube.vremanagement.contextmanager.model.types.ContextList; import org.gcube.vremanagement.contextmanager.services.ContextService; import org.glassfish.jersey.server.ResourceConfig; import org.glassfish.jersey.test.JerseyTest; import org.jboss.weld.environment.se.Weld; import org.junit.Test; public class ContextServiceIntegrationTest extends JerseyTest { @Override protected Application configure() { /*Class[] extScopes = ServiceFinder.find(ExternalRequestScope.class, true).toClassArray(); for (Class ers : extScopes) { System.out.println("ESR "+ers.getName()); }*/ final Weld weld = new Weld(); weld.initialize(); Runtime.getRuntime().addShutdownHook(new Thread(() -> weld.shutdown())); return new ResourceConfig(ContextService.class); } @Test public void getContexts_whenCorrectRequest_thenResponseIsOk() { Response response = target("/contexts").request() .get(); assertEquals("Http Response should be 200: ", Status.OK.getStatusCode(), response.getStatus()); assertEquals("Http Content-Type should be: ", MediaType.APPLICATION_JSON, response.getHeaderString(HttpHeaders.CONTENT_TYPE)); assertTrue(((ContextList)response.getEntity()).getContexts().size()>0); } }