Example usage for org.apache.wicket.protocol.http.mock MockHttpServletRequest MockHttpServletRequest

List of usage examples for org.apache.wicket.protocol.http.mock MockHttpServletRequest MockHttpServletRequest

Introduction

In this page you can find the example usage for org.apache.wicket.protocol.http.mock MockHttpServletRequest MockHttpServletRequest.

Prototype

public MockHttpServletRequest(final Application application, final HttpSession session,
            final ServletContext context) 

Source Link

Usage

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;
}