context-manager/src/test/java/org/gcube/vremanagement/contextmanager/ContextServiceIntegrationTe...

49 lines
1.7 KiB
Java

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<ExternalRequestScope>[] extScopes = ServiceFinder.find(ExternalRequestScope.class, true).toClassArray();
for (Class<ExternalRequestScope> 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);
}
}