import java.lang.reflect.Field;
import javax.persistence.EntityManager;
-import javax.transaction.Status;
-import javax.transaction.UserTransaction;
import org.apache.wicket.IPageMap;
import org.apache.wicket.PageParameters;
+import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.model.IModel;
import org.apache.wicket.protocol.http.WebResponse;
import org.apache.wicket.util.tester.WicketTester;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.wamblee.wicket.page.CompositePageBehavior;
-import org.wamblee.wicket.page.DisableCachingBehavior;
-import org.wamblee.wicket.page.ExpirePageImmediatelyBehavior;
-import org.wamblee.wicket.page.FlushEntityManagerBehavior;
-import org.wamblee.wicket.page.PageBehavior;
-import org.wamblee.wicket.page.WebApplicationBasePage;
public class WebApplicationBasePageTest {
private WicketTester wicket;
public static final class TestPage extends WebApplicationBasePage {
- private WebResponse response;
+ private transient WebResponse response;
public TestPage(WebResponse aResponse) {
response = aResponse;
public void callBeforeRender() {
onBeforeRender();
}
+
+ public void callOnDetach() {
+ onDetach();
+ }
}
@Test
page.callSetHeaders();
verify(behavior).setHeaders(same(page), same(response));
verifyNoMoreInteractions(behavior);
+
+ reset(behavior);
+ page.callOnDetach();
+ verify(behavior).onDetach(same(page));
+ verifyNoMoreInteractions(behavior);
}
@Test
- public void testSmokeBehaviorViewOnlyOnce() throws Exception {
+ public void testSmokeExpirePageImmediatelyBehavior() throws Exception {
WebApplicationBasePage page = new WebApplicationBasePage(
mock(IPageMap.class), new PageParameters());
page.addBehavior(new ExpirePageImmediatelyBehavior());
wicket.assertRenderedPage(WebApplicationBasePage.class);
}
+ @Test
+ public void testSmokeExpireBehavior() throws Exception {
+ WebApplicationBasePage page = new WebApplicationBasePage(
+ mock(IPageMap.class), new PageParameters());
+ page.addBehavior(new ExpireBehavior() {
+ @Override
+ protected boolean isExpired(WebPage aPage) {
+ return true;
+ }
+ });
+ wicket.startPage(page);
+ wicket.assertRenderedPage(WebApplicationBasePage.class);
+ }
+
@Test
public void testSmokeBehaviorDisableCaching() throws Exception {
WebApplicationBasePage page = new WebApplicationBasePage(
public void testSmokeBehaviorFlushEntityManager() throws Exception {
WebApplicationBasePage page = new WebApplicationBasePage(
mock(IPageMap.class), new PageParameters());
- EntityManager entityManager = mock(EntityManager.class);
+ final EntityManager entityManager = mock(EntityManager.class);
when(entityManager.isOpen()).thenReturn(true);
- PageBehavior behavior = new FlushEntityManagerBehavior(entityManager);
+ PageBehavior behavior = new FlushEntityManagerBehavior() {
+ public EntityManager getEntityManager() {
+ return entityManager;
+ }
+ };
page.addBehavior(behavior);
wicket.startPage(page);
wicket.assertRenderedPage(WebApplicationBasePage.class);