I had already look at it, but due to restrictions in the test server
we can't launch an instance of a browser to execute the test.

Thanks anyway Peter

On Thu, Jul 16, 2009 at 4:26 PM, <p.stavrini...@albourne.com> wrote:
> Look at the project Tapestry testify:
> https://tapestry.formos.com/nightly/tapestry-testify/
>
> This should give you the tools you need to test your pages precisely, you 
> also will need to include a mocking framework (EasyMock or Mockito) with 
> testify.
>
> good luck,
> Peter
>
> ----- Original Message -----
> From: "Juan E. Maya" <maya.j...@gmail.com>
> To: "Tapestry users" <users@tapestry.apache.org>
> Sent: Thursday, 16 July, 2009 17:09:23 GMT +02:00 Athens, Beirut, Bucharest, 
> Istanbul
> Subject: Re: Tapestry-Spring Security & Page Testing
>
> I came to the conclusion (maybe i am wrong) that this is not possible
> (at least now) using Spring-security. Sadly this is a deal breaker for
> me :S
>
> The nice thing is that thanks to tapestry modularity it was extremely
> easy to replace the security to use Chennilleit Access! I am really
> looking forward for CK new release :)
>
> On Wed, Jul 15, 2009 at 9:04 AM, Juan E. Maya<maya.j...@gmail.com> wrote:
>> Does anybody has found a way to unit test pages of an application that
>> use Tapestry-Spring Security?
>>
>> I always get the error:
>>
>>
>> java.lang.RuntimeException: java.io.IOException: Can only process
>> HttpServletRequest
>>        at 
>> org.apache.tapestry5.test.PageTester.renderPage(PageTester.java:200)
>>        at 
>> com.rinco.misacas.web.test.SimplePageTest.simpleTest(SimplePageTest.java:53)
>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>        at 
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>        at 
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>        at java.lang.reflect.Method.invoke(Method.java:585)
>>        at 
>> org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:580)
>>        at org.testng.internal.Invoker.invokeMethod(Invoker.java:478)
>>        at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:617)
>>        at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:885)
>>        at 
>> org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
>>        at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:110)
>>        at org.testng.TestRunner.runWorkers(TestRunner.java:712)
>>        at org.testng.TestRunner.privateRun(TestRunner.java:582)
>>        at org.testng.TestRunner.run(TestRunner.java:477)
>>        at org.testng.SuiteRunner.runTest(SuiteRunner.java:324)
>>        at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:319)
>>        at org.testng.SuiteRunner.privateRun(SuiteRunner.java:292)
>>        at org.testng.SuiteRunner.run(SuiteRunner.java:198)
>>        at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:823)
>>        at org.testng.TestNG.runSuitesLocally(TestNG.java:790)
>>        at org.testng.TestNG.run(TestNG.java:708)
>>        at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:73)
>>        at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:124)
>> Caused by: java.io.IOException: Can only process HttpServletRequest
>>        at 
>> nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper.service(RequestFilterWrapper.java:64)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> com.rinco.misacas.web.services.MisacasModule$1.service(MisacasModule.java:109)
>>        at $RequestFilter_1227d30e8e0.service($RequestFilter_1227d30e8e0.java)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:778)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:767)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> org.apache.tapestry5.internal.test.EndOfRequestCleanupFilter.service(EndOfRequestCleanupFilter.java:42)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
>>        at 
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
>>        at 
>> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
>>        at 
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
>>        at 
>> $RequestHandler_1227d30e8e4.service($RequestHandler_1227d30e8e4.java)
>>        at 
>> $RequestHandler_1227d30e8b9.service($RequestHandler_1227d30e8b9.java)
>>        at 
>> org.apache.tapestry5.test.PageTester.renderPage(PageTester.java:173)
>>        ... 23 more
>> Caused by: javax.servlet.ServletException: Can only process 
>> HttpServletRequest
>>        at 
>> org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:46)
>>        at 
>> nu.localhost.tapestry5.springsecurity.services.internal.RequestFilterWrapper.service(RequestFilterWrapper.java:55)
>>        ... 44 more
>>
>> After running a test like this:
>>
>>       @Test
>>        public void simpleTest() {
>>                private  PageTester MISACAS_tester_TESTER = new
>> PageTester(APP_NAME, APP_PACKAGE, APP_CONTEXT);
>>                Document doc = tester.renderPage("Index");
>>                Assert.notNull(doc.getElementById("featuredItems"));
>>        }
>>
>> Of course this is natural, as HTTP is not being used to render the
>> pages during test, what would like to know is if it's possible to
>> avoid the execution of the Security RequestHandler ? I though about
>> overriding the handler for tests or forcing the test to avoid loading
>> the security module but i haven't been able to achieve any of those :S
>>
>> Any ideas?
>>
>> Thanks a lot!
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to