List of usage examples for org.apache.wicket.protocol.http.mock MockHttpServletRequest MockHttpServletRequest
public MockHttpServletRequest(final Application application, final HttpSession session, final ServletContext context)
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 ww w .j av a 2 s . c o 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) *///from w ww . 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 . ja va 2 s . c o m */ 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.j av a2 s .co 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.nashorn.resource.NashornResourceReferenceTest.java
License:Apache License
/** * Tests remote invocation/* w ww. j ava 2 s . c o m*/ * * @throws InterruptedException */ @Test public void testRemoteInvocation() throws InterruptedException { WicketTester wicketTester = new WicketTester(new DummyApplication()); MockHttpServletRequest mockHttpServletRequest = new MockHttpServletRequest(null, null, null) { @Override public ServletInputStream getInputStream() throws IOException { return new MockInputStream( NashornResourceReferenceTest.class.getResourceAsStream("NashornResourceReferenceTest.js")); } }; wicketTester.setRequest(mockHttpServletRequest); NashornResourceReference nashornResourceReference = new NashornResourceReference("nashorn", 50, 50, TimeUnit.SECONDS) { private static final long serialVersionUID = 1L; @Override protected void setup(Attributes attributes, Bindings bindings) { bindings.put("serverValue", 1); } @Override protected Writer getWriter() { return new BufferedWriter(new OutputStreamWriter(System.out)); } @Override protected Writer getErrorWriter() { return new BufferedWriter(new OutputStreamWriter(System.out)); } @Override protected boolean isDebug() { return true; } }; try { wicketTester.startResourceReference(nashornResourceReference); } catch (Exception e) { nashornResourceReference.getScheduledExecutorService().shutdownNow(); nashornResourceReference.getScheduledExecutorService().awaitTermination(10000, TimeUnit.SECONDS); } Assert.assertEquals("4.0", wicketTester.getLastResponseAsString()); }
From source file:sk.drunkenpanda.leaflet.AbstractLeafletTest.java
License:Apache License
/** * Prepares request that triggers AJAX behavior and contains parameter with given name and value. * * @param tester the wicket tester which triggers behavior * @param behavior the behavior that should be triggered * @param parameterName the name of parameter * @param parameterValue the value of parameter * @return mock HTTP request that triggers given behavior *///from ww w .j a va 2 s . c o m protected MockHttpServletRequest prepareRequest(WicketTester tester, AbstractAjaxBehavior behavior, String parameterName, String parameterValue) { MockHttpServletRequest request = new MockHttpServletRequest(tester.getApplication(), tester.getHttpSession(), tester.getServletContext()); Url url = Url.parse(behavior.getCallbackUrl().toString(), Charset.forName(request.getCharacterEncoding())); // make url suitable for wicket tester use. usually this involves stripping any leading .. // segments to make the url absolute for (Iterator<String> segments = url.getSegments().iterator(); segments.hasNext();) { String segment = segments.next(); if (segment.equals("..") || segment.equals(".")) { segments.remove(); } } request.addHeader("Wicket-Ajax", "true"); request.addHeader("Wicket-Ajax-BaseURL", url.toString()); request.setUrl(url); request.setParameter(parameterName, parameterValue); return request; }