Search in sources :

Example 1 with BaseWicketTester

use of org.apache.wicket.util.tester.BaseWicketTester in project wicket by apache.

the class FilenameWithVersionResourceCachingStrategyTest method testDecorateResponse.

@Test
public void testDecorateResponse() throws Exception {
    Duration defaultDuration = Duration.minutes(60);
    // setup RequestCycle
    BaseWicketTester tester = new BaseWicketTester();
    RequestCycle requestCycle = ThreadContext.getRequestCycle();
    Application.get().getResourceSettings().setDefaultCacheDuration(defaultDuration);
    try {
        // version match
        requestCycle.setMetaData(IResourceCachingStrategy.URL_VERSION, TEST_RESOURCE_VERSION);
        AbstractResource.ResourceResponse response = new AbstractResource.ResourceResponse();
        strategy.decorateResponse(response, new TestResource());
        assertEquals(WebResponse.MAX_CACHE_DURATION, response.getCacheDuration());
        assertEquals(WebResponse.CacheScope.PUBLIC, response.getCacheScope());
        // version mismatch
        requestCycle.setMetaData(IResourceCachingStrategy.URL_VERSION, "foo");
        response = new AbstractResource.ResourceResponse();
        strategy.decorateResponse(response, new TestResource());
        assertEquals(defaultDuration, response.getCacheDuration());
        assertEquals(WebResponse.CacheScope.PRIVATE, response.getCacheScope());
    } finally {
        tester.destroy();
    }
}
Also used : RequestCycle(org.apache.wicket.request.cycle.RequestCycle) Duration(org.apache.wicket.util.time.Duration) AbstractResource(org.apache.wicket.request.resource.AbstractResource) BaseWicketTester(org.apache.wicket.util.tester.BaseWicketTester) Test(org.junit.Test)

Example 2 with BaseWicketTester

use of org.apache.wicket.util.tester.BaseWicketTester in project wicket by apache.

the class QueryStringWithVersionResourceCachingStrategyTest method testDecorateResponse.

@Test
public void testDecorateResponse() throws Exception {
    Duration defaultDuration = Duration.minutes(60);
    // setup RequestCycle
    BaseWicketTester tester = new BaseWicketTester();
    RequestCycle requestCycle = ThreadContext.getRequestCycle();
    Application.get().getResourceSettings().setDefaultCacheDuration(defaultDuration);
    try {
        // version match
        requestCycle.setMetaData(IResourceCachingStrategy.URL_VERSION, TEST_RESOURCE_VERSION);
        AbstractResource.ResourceResponse response = new AbstractResource.ResourceResponse();
        strategy.decorateResponse(response, new TestResource());
        assertEquals(WebResponse.MAX_CACHE_DURATION, response.getCacheDuration());
        assertEquals(WebResponse.CacheScope.PUBLIC, response.getCacheScope());
        // version mismatch
        requestCycle.setMetaData(IResourceCachingStrategy.URL_VERSION, "foo");
        response = new AbstractResource.ResourceResponse();
        strategy.decorateResponse(response, new TestResource());
        assertEquals(defaultDuration, response.getCacheDuration());
        assertEquals(WebResponse.CacheScope.PRIVATE, response.getCacheScope());
    } finally {
        tester.destroy();
    }
}
Also used : RequestCycle(org.apache.wicket.request.cycle.RequestCycle) Duration(org.apache.wicket.util.time.Duration) AbstractResource(org.apache.wicket.request.resource.AbstractResource) BaseWicketTester(org.apache.wicket.util.tester.BaseWicketTester) Test(org.junit.Test)

Example 3 with BaseWicketTester

use of org.apache.wicket.util.tester.BaseWicketTester in project wicket by apache.

the class MetaInfStaticResourceReferenceTest method testWithServlet30.

/**
 * Test with Servlet 3.0 container
 *
 * @throws MalformedURLException
 *             should not happen
 */
@Test
public void testWithServlet30() throws MalformedURLException {
    MockApplication application = new MockApplication();
    MockServletContext servletContext = new MockServletContext(application, "/");
    BaseWicketTester tester = new BaseWicketTester(application, servletContext);
    MetaInfStaticResourceReference metaRes = new MetaInfStaticResourceReference(getClass(), STATIC_RESOURCE_NAME);
    PackageResourceReference packRes = new PackageResourceReference(getClass(), STATIC_RESOURCE_NAME);
    Url packUrl = tester.getRequestCycle().mapUrlFor(packRes, null);
    Url metaUrl = tester.getRequestCycle().mapUrlFor(metaRes, null);
    Assert.assertNotNull(metaUrl);
    Assert.assertNotNull(packUrl);
    Assert.assertFalse("Meta and pack resource should not map to the same url under servlet 3.0.", metaUrl.equals(packUrl));
    String metaUrlStr = metaUrl.toString();
    if (metaUrlStr.charAt(1) != '/') {
        metaUrlStr = "/" + metaUrlStr;
    }
    // meta resource is served by the servlet container under 3.0
    URL metaNetUrl = servletContext.getResource(metaUrlStr);
    Assert.assertNotNull("Meta resource is not found by the 3.0 servlet container.", metaNetUrl);
    MockWebRequest request = new MockWebRequest(packUrl);
    IRequestHandler requestHandler = tester.getApplication().getRootRequestMapper().mapRequest(request);
    // the pack resource is still served by wicket
    Assert.assertNotNull(requestHandler);
}
Also used : MockApplication(org.apache.wicket.mock.MockApplication) IRequestHandler(org.apache.wicket.request.IRequestHandler) MockWebRequest(org.apache.wicket.mock.MockWebRequest) BaseWicketTester(org.apache.wicket.util.tester.BaseWicketTester) MockServletContext(org.apache.wicket.protocol.http.mock.MockServletContext) Url(org.apache.wicket.request.Url) URL(java.net.URL) Test(org.junit.Test)

Aggregations

BaseWicketTester (org.apache.wicket.util.tester.BaseWicketTester)3 Test (org.junit.Test)3 RequestCycle (org.apache.wicket.request.cycle.RequestCycle)2 AbstractResource (org.apache.wicket.request.resource.AbstractResource)2 Duration (org.apache.wicket.util.time.Duration)2 URL (java.net.URL)1 MockApplication (org.apache.wicket.mock.MockApplication)1 MockWebRequest (org.apache.wicket.mock.MockWebRequest)1 MockServletContext (org.apache.wicket.protocol.http.mock.MockServletContext)1 IRequestHandler (org.apache.wicket.request.IRequestHandler)1 Url (org.apache.wicket.request.Url)1