Skip to content

Instantly share code, notes, and snippets.

@psamsotha
Created July 11, 2017 13:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save psamsotha/1eae09394fff8fcac11869635194eb12 to your computer and use it in GitHub Desktop.
Save psamsotha/1eae09394fff8fcac11869635194eb12 to your computer and use it in GitHub Desktop.
Jersey Client Session Test
import org.glassfish.jersey.filter.LoggingFilter;
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.servlet.ServletContainer;
import org.glassfish.jersey.test.DeploymentContext;
import org.glassfish.jersey.test.JerseyTest;
import org.glassfish.jersey.test.ServletDeploymentContext;
import org.glassfish.jersey.test.grizzly.GrizzlyWebTestContainerFactory;
import org.glassfish.jersey.test.spi.TestContainerFactory;
import org.junit.Test;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import java.util.logging.Logger;
import static org.junit.Assert.assertNotNull;
public class ClientSessionTest extends JerseyTest {
@Path("session")
public static class SessionResource {
@GET
public String get(@Context HttpServletRequest request) {
HttpSession session = request.getSession(true);
return session.getId();
}
}
@Override
public DeploymentContext configureDeployment() {
final ResourceConfig config = new ResourceConfig()
.register(SessionResource.class)
.register(new LoggingFilter(Logger.getAnonymousLogger(), true));
return ServletDeploymentContext.forServlet(new ServletContainer(config)).build();
}
@Override
public TestContainerFactory getTestContainerFactory() {
return new GrizzlyWebTestContainerFactory();
}
@Test
public void testIt() {
final Response response = target("session")
.request().get();
assertNotNull(response.getCookies().get("JSESSIONID"));
System.out.println(response.readEntity(String.class));
System.out.println(response.getCookies());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment