List of usage examples for org.apache.wicket.protocol.http.mock MockHttpSession MockHttpSession
public MockHttpSession(final ServletContext context)
From source file:at.molindo.wicketutils.utils.MockUtils.java
License:Apache License
/** * reuse an existing session if possible *//*from w ww . j a v a 2s. c o m*/ public static <V> V withRequest(WebApplication webApplication, IMockRequestCallback<V> callback) { Session oldSession = ThreadContext.exists() ? ThreadContext.getSession() : null; ThreadContext oldContext = ThreadContext.detach(); try { ThreadContext.setApplication(webApplication); ThreadContext.setSession(oldSession); // mock http session ServletContext context = webApplication.getServletContext(); MockHttpSession httpSession = new MockHttpSession(context); // mock servlet request MockServletRequest servletRequest = new MockServletRequest(webApplication, httpSession, context); callback.configure(new MockRequest(servletRequest)); servletRequest.setDefaultHeaders(); // mock response MockHttpServletResponse servletResponse = new MockHttpServletResponse(servletRequest); // mock web request final WebRequest request = VisibilityHelper.newWebRequest(webApplication, servletRequest, "/"); // mock web response final WebResponse response = VisibilityHelper.newWebResponse(webApplication, request, servletResponse); // create ThreadContext.setRequestCycle(webApplication.createRequestCycle(request, response)); return callback.call(); } finally { Session newSession = ThreadContext.getSession(); ThreadContext.restore(oldContext); if (oldSession == null && newSession != null && !newSession.isTemporary()) { // reuse session if a new one was created ThreadContext.setSession(newSession); } } }
From source file:com.norconex.commons.wicket.ThreadContextMocker.java
License:Apache License
/** * Invoke this method in the new thread before doing something with Wicket. *//*from w ww . j av a 2 s. co m*/ public void mock() { ThreadContext.setApplication(application); ThreadContext.setSession(session); final MockServletContext context = new MockServletContext(application, SystemUtils.JAVA_IO_TMPDIR); ThreadContext.setRequestCycle( application.createRequestCycle(new MockWebRequest(Url.parse("http://localhost/mock")) { @Override public Object getContainerRequest() { return new MockHttpServletRequest(application, new MockHttpSession(context), context); } }, new MockWebResponse())); }
From source file:com.tysanclan.site.projectewok.TysanPageTester.java
License:Open Source License
@Before public void startRequest() { ConfigurableBeanFactory configurableBeanFactory = (ConfigurableBeanFactory) TysanApplication .getApplicationContext().getAutowireCapableBeanFactory(); // configurableBeanFactory.registerScope("session", new SessionScope()); configurableBeanFactory.registerScope("request", new RequestScope()); this.beanFactory = configurableBeanFactory; MockServletContext sctx = new MockServletContext(tester.getApplication(), "/src/main/webapp/"); MockHttpServletRequest request = new MockHttpServletRequest(tester.getApplication(), new MockHttpSession(sctx), sctx); RequestAttributes attr = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attr); sessionFactory = (SessionFactory) configurableBeanFactory.getBean("sessionFactory"); Session session = sessionFactory.openSession(); TransactionSynchronizationManager.bindResource(sessionFactory, session); }
From source file:com.tysanclan.site.projectewok.util.scheduler.TysanTaskExecutor.java
License:Open Source License
/** * @see org.quartz.Job#execute(org.quartz.JobExecutionContext) */// www .j a v a 2 s.c o m @Override public void execute(JobExecutionContext context) throws JobExecutionException { TysanTask task = (TysanTask) context.getMergedJobDataMap().get(TASK_KEY); TysanApplication application = (TysanApplication) context.getMergedJobDataMap().get(APP_KEY); ThreadContext.setApplication(application); if (task != null) { MockServletContext sctx = new MockServletContext(application, "/src/main/webapp/"); MockHttpServletRequest request = new MockHttpServletRequest(application, new MockHttpSession(sctx), sctx); RequestAttributes attr = new ServletRequestAttributes(request); RequestContextHolder.setRequestAttributes(attr); Injector.get().inject(task); try { task.run(); } catch (Exception e) { BugTrackerService tracker = TysanApplication.getApplicationContext() .getBean(BugTrackerService.class); if (!tracker.isKnownIssue(e)) { tracker.reportCrash(null, task.getClass().getName(), e); } } task.cleanUp(); RequestContextHolder.resetRequestAttributes(); } else { logger.error("No task passed to TysanTaskExecutor!"); } }
From source file:fiftyfive.wicket.test.WicketTestUtils.java
License:Apache License
/** * Download the requested resource and assert that the binary contents of that * resource match the provided byte array. * * @param tester The WicketTester that was used to render the page being tested * @param resourceUri A path to a resource to download, like {@code wicket/resource/...} * (note the lack of a leading slash) * @param expectedBytes The expected binary contents of that resource * * @since 3.2/*w ww. j a v a 2 s . c om*/ */ public static void assertDownloadEquals(WicketTester tester, String resourceUri, byte[] expectedBytes) { MockHttpSession session = new MockHttpSession(tester.getApplication().getServletContext()); MockHttpServletRequest request = new MockHttpServletRequest(tester.getApplication(), session, tester.getApplication().getServletContext()); request.setURL(resourceUri); tester.processRequest(request); byte[] actual = tester.getLastResponse().getBinaryContent(); Assert.assertArrayEquals(expectedBytes, actual); }
From source file:org.apache.openmeetings.db.util.ApplicationHelper.java
License:Apache License
public static IApplication ensureApplication(Long langId) { IApplication a = null;/*from w w w. ja v a 2 s . c o m*/ if (Application.exists()) { a = (IApplication) Application.get(); } else { WebApplication app = (WebApplication) Application.get(wicketApplicationName); LabelDao.initLanguageMap(); if (app == null) { try { app = (WebApplication) LabelDao.getAppClass().newInstance(); } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) { log.error("Failed to create Application"); return null; } app.setServletContext(new MockServletContext(app, null)); app.setName(wicketApplicationName); ServletContext sc = app.getServletContext(); OMContextListener omcl = new OMContextListener(); omcl.contextInitialized(new ServletContextEvent(sc)); XmlWebApplicationContext xmlContext = new XmlWebApplicationContext(); xmlContext.setConfigLocation("classpath:openmeetings-applicationContext.xml"); xmlContext.setServletContext(sc); xmlContext.refresh(); sc.setAttribute(ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, xmlContext); app.setConfigurationType(RuntimeConfigurationType.DEPLOYMENT); ThreadContext.setApplication(app); app.initApplication(); } else { ThreadContext.setApplication(app); } a = (IApplication) Application.get(wicketApplicationName); } if (ThreadContext.getRequestCycle() == null) { ServletWebRequest req = new ServletWebRequest(new MockHttpServletRequest((Application) a, new MockHttpSession(a.getServletContext()), a.getServletContext()), ""); RequestCycleContext rctx = new RequestCycleContext(req, new MockWebResponse(), a.getRootRequestMapper(), a.getExceptionMapperProvider().get()); ThreadContext.setRequestCycle(new RequestCycle(rctx)); } if (ThreadContext.getSession() == null) { WebSession s = WebSession.get(); if (langId > 0) { ((IWebSession) s).setLanguage(langId); } } return a; }
From source file:org.wicketstuff.rest.utils.http.HttpUtilsTest.java
License:Apache License
@Test public void readRequestString() throws Exception { String xmlText = "<?xml version='1.0' encoding='UTF-8'?>\n" + "<html>\n" + " <body>\n" + " <p >\n" + " </p>\n" + " </body>\n" + "</html>"; MockApplication mockApplication = new MockApplication(); MockServletContext servletContext = new MockServletContext(mockApplication, "/"); BufferedMockRequest mockedRequest = new BufferedMockRequest(mockApplication, new MockHttpSession(servletContext), servletContext, "POST"); mockedRequest.setTextAsRequestBody(xmlText); WebRequest webRequest = mock(WebRequest.class); when(webRequest.getContainerRequest()).thenReturn(mockedRequest); String stringFromRequest = HttpUtils.readStringFromRequest(webRequest); Assert.assertEquals(xmlText, stringFromRequest); }