package com.anjlab.ping.pages; import java.security.Principal; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.tapestry5.dom.Document; import org.apache.tapestry5.services.RequestGlobals; import org.apache.tapestry5.test.PageTester; import org.easymock.EasyMock; import org.junit.After; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.google.appengine.tools.development.testing.LocalDatastoreServiceTestConfig; import com.google.appengine.tools.development.testing.LocalServiceTestHelper; public class TestPages { private final LocalServiceTestHelper helper = new LocalServiceTestHelper(new LocalDatastoreServiceTestConfig()); @Before public void setUp() { System.setProperty("appengine.orm.disable.duplicate.emf.exception", "false"); helper.setUp(); } @After public void tearDown() { helper.tearDown(); } @Test public void testWelcomePage() throws Exception { PageTester pageTester = new PageTester("com.anjlab.ping", "App", "war"); RequestGlobals requestGlobals = pageTester.getRegistry().getService(RequestGlobals.class); HttpServletRequest servletRequest = EasyMock.createMock(HttpServletRequest.class); servletRequest.setCharacterEncoding("UTF-8"); EasyMock.expectLastCall().anyTimes(); EasyMock.expect(servletRequest.getUserPrincipal()).andReturn(new Principal() { public String getName() { return "test@example.org"; } }).anyTimes(); HttpSession httpSession = EasyMock.createMock(HttpSession.class); EasyMock.expect(servletRequest.getSession()).andReturn(httpSession); ServletContext servletContext = EasyMock.createMock(ServletContext.class); EasyMock.expect(httpSession.getServletContext()).andReturn(servletContext); EasyMock.expect(servletContext.getRealPath("")).andReturn(null); EasyMock.replay(servletRequest); HttpServletResponse servletResponse = EasyMock.createMock(HttpServletResponse.class); requestGlobals.storeServletRequestResponse(servletRequest, servletResponse); Document document = pageTester.renderPage("Welcome"); Assert.assertNotNull(document); Assert.assertTrue(!document.toString().contains("Application Exception")); } }