You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Joel Wiegman <Jo...@btservices.com> on 2007/05/16 17:41:01 UTC
T5: ContextForPageTester error
Hello all,
I'm trying to get a simple PageTester working using JUnit:
public class TestStoreHierarchy {
private PageTester tester;
@Before
public void setUpStoreHierarchyTests() {
tester = new PageTester("com.btservices.storeportal", "app",
"src/main/webapp");
}
@Test
public void testStoreHierarchy() {
Document doc = tester.renderPage("status/Start");
Element form = doc.getElementById("form");
Map<String, String> fieldValues = new HashMap<String, String>();
assertTrue(doc.getElementById("region") == null);
fieldValues.put("brand", "DSW");
doc = tester.submitForm(form, fieldValues);
assertTrue(doc.getElementById("region") != null);
}
}
And Tapestry 5.0.4 is throwing it's own run-time error (code found here:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/
main/java/org/apache/tapestry/test/pagelevel/ContextForPageTester.java?v
iew=markup ).
I'm using Spring to inject values, and it seems to have a problem with
Spring's WebApplicationContext. Please advise. Thanks!
<HOLD YOUR BREATH>
[ERROR] WebApplicationContext Construction of service
WebApplicationContext failed: Error invoking service builder method
org.apache.tapestry.spring.SpringModule.build(Context) (at
SpringModule.java:46) (for service 'WebApplicationContext'): An
exception occurred obtaining the Spring WebApplicationContext:
getAttribute() is not supported for ContextForPageTester.
java.lang.RuntimeException: Error invoking service builder method
org.apache.tapestry.spring.SpringModule.build(Context) (at
SpringModule.java:46) (for service 'WebApplicationContext'): An
exception occurred obtaining the Spring WebApplicationContext:
getAttribute() is not supported for ContextForPageTester.
at
org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObjec
t(ServiceBuilderMethodInvoker.java:87)
at
org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService
(SingletonServiceLifecycle.java:31)
at
org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createOb
ject(LifecycleWrappedServiceCreator.java:49)
at
org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(In
terceptorStackBuilder.java:54)
at
org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.cr
eateObject(RecursiveServiceCreationCheckWrapper.java:60)
at
org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.create
Object(JustInTimeObjectCreator.java:61)
at
$WebApplicationContext_1129587b4b7._delegate($WebApplicationContext_1129
587b4b7.java)
at
$WebApplicationContext_1129587b4b7.getBeanDefinitionNames($WebApplicatio
nContext_1129587b4b7.java)
at
org.apache.tapestry.spring.SpringObjectProvider.loadBeanNames(SpringObje
ctProvider.java:56)
at
org.apache.tapestry.spring.SpringObjectProvider.provide(SpringObjectProv
ider.java:80)
at
$ObjectProvider_1129587b4b4.provide($ObjectProvider_1129587b4b4.java)
at
$ObjectProvider_1129587b4b6.provide($ObjectProvider_1129587b4b6.java)
at
$ObjectProvider_1129587b4b1.provide($ObjectProvider_1129587b4b1.java)
at
org.apache.tapestry.internal.services.InjectWorker.inject(InjectWorker.j
ava:80)
at
org.apache.tapestry.internal.services.InjectWorker.transform(InjectWorke
r.java:53)
at
$ComponentClassTransformWorker_1129587b4e2.transform($ComponentClassTran
sformWorker_1129587b4e2.java)
at
$ComponentClassTransformWorker_1129587b4df.transform($ComponentClassTran
sformWorker_1129587b4df.java)
at
org.apache.tapestry.internal.services.ComponentClassTransformerImpl.tran
sformComponentClass(ComponentClassTransformerImpl.java:131)
at
$ComponentClassTransformer_1129587b4cb.transformComponentClass($Componen
tClassTransformer_1129587b4cb.java)
at
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.on
Load(ComponentInstantiatorSourceImpl.java:177)
at javassist.Loader.findClass(Loader.java:340)
at
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$Pa
ckageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:85)
at javassist.Loader.loadClass(Loader.java:311)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.fi
ndClass(ComponentInstantiatorSourceImpl.java:254)
at
org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.fi
ndInstantiator(ComponentInstantiatorSourceImpl.java:240)
at
$ComponentInstantiatorSource_1129587b4c2.findInstantiator($ComponentInst
antiatorSource_1129587b4c2.java)
at
org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComp
onentElement(PageElementFactoryImpl.java:189)
at
$PageElementFactory_1129587b4da.newRootComponentElement($PageElementFact
ory_1129587b4da.java)
at
org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootCompon
ent(PageLoaderProcessor.java:348)
at
org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageL
oaderProcessor.java:333)
at
org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoader
Impl.java:62)
at
$PageLoader_1129587b4d8.loadPage($PageLoader_1129587b4d8.java)
at
org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl
.java:63)
at $PagePool_1129587b4d7.checkout($PagePool_1129587b4d7.java)
at
org.apache.tapestry.internal.services.RequestPageCacheImpl.getByClassNam
e(RequestPageCacheImpl.java:58)
at
org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPa
geCacheImpl.java:49)
at
$RequestPageCache_1129587b4d6.get($RequestPageCache_1129587b4d6.java)
at
$RequestPageCache_1129587b4be.get($RequestPageCache_1129587b4be.java)
at
org.apache.tapestry.internal.services.PageLinkHandlerImpl.handle(PageLin
kHandlerImpl.java:57)
at
$PageLinkHandler_1129587b4cd.handle($PageLinkHandler_1129587b4cd.java)
at
org.apache.tapestry.test.pagelevel.PageLinkInvoker.invoke(PageLinkInvoke
r.java:61)
at
org.apache.tapestry.test.pagelevel.PageTester.invoke(PageTester.java:212
)
at
org.apache.tapestry.test.pagelevel.PageTester.renderPage(PageTester.java
:180)
at
com.btservices.storeportal.components.TestStoreHierarchy.testStoreHierar
chy(TestStoreHierarchy.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethod
Runner.java:99)
at
org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRun
ner.java:81)
at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf
terRunner.java:34)
at
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.j
ava:75)
at
org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45
)
at
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestC
lassMethodsRunner.java:66)
at
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRu
nner.java:35)
at
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRun
ner.java:42)
at
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf
terRunner.java:34)
at
org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.jav
a:62)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSe
t(AbstractDirectoryTestSuite.java:138)
at
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Abstr
actDirectoryTestSuite.java:125)
at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Suref
ireBooter.java:290)
at
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java
:818)
Caused by: java.lang.RuntimeException: An exception occurred obtaining
the Spring WebApplicationContext: getAttribute() is not supported for
ContextForPageTester.
at
org.apache.tapestry.spring.SpringModule.build(SpringModule.java:55)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObjec
t(ServiceBuilderMethodInvoker.java:75)
... 68 more
Caused by: java.lang.UnsupportedOperationException: getAttribute() is
not supported for ContextForPageTester.
at
org.apache.tapestry.test.pagelevel.ContextForPageTester.getAttribute(Con
textForPageTester.java:64)
at $Context_1129587b4e5.getAttribute($Context_1129587b4e5.java)
at $Context_1129587b4e4.getAttribute($Context_1129587b4e4.java)
at
org.apache.tapestry.spring.SpringModule.build(SpringModule.java:50)
... 73 more
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: T5: ContextForPageTester error
Posted by Howard Lewis Ship <hl...@gmail.com>.
Wow! Not only am I not sure what's going on here, but I know a lot of this
changes in 5.0.5. I'm reworking PageTester right now.
On 5/16/07, Joel Wiegman <Jo...@btservices.com> wrote:
>
> Hello all,
>
> I'm trying to get a simple PageTester working using JUnit:
>
> public class TestStoreHierarchy {
>
> private PageTester tester;
>
> @Before
> public void setUpStoreHierarchyTests() {
> tester = new PageTester("com.btservices.storeportal", "app",
> "src/main/webapp");
> }
>
> @Test
> public void testStoreHierarchy() {
> Document doc = tester.renderPage("status/Start");
> Element form = doc.getElementById("form");
> Map<String, String> fieldValues = new HashMap<String, String>();
> assertTrue(doc.getElementById("region") == null);
> fieldValues.put("brand", "DSW");
> doc = tester.submitForm(form, fieldValues);
> assertTrue(doc.getElementById("region") != null);
>
> }
>
> }
>
> And Tapestry 5.0.4 is throwing it's own run-time error (code found here:
> http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/
> main/java/org/apache/tapestry/test/pagelevel/ContextForPageTester.java?v
> iew=markup ).
>
> I'm using Spring to inject values, and it seems to have a problem with
> Spring's WebApplicationContext. Please advise. Thanks!
>
> <HOLD YOUR BREATH>
>
> [ERROR] WebApplicationContext Construction of service
> WebApplicationContext failed: Error invoking service builder method
> org.apache.tapestry.spring.SpringModule.build(Context) (at
> SpringModule.java:46) (for service 'WebApplicationContext'): An
> exception occurred obtaining the Spring WebApplicationContext:
> getAttribute() is not supported for ContextForPageTester.
> java.lang.RuntimeException: Error invoking service builder method
> org.apache.tapestry.spring.SpringModule.build(Context) (at
> SpringModule.java:46) (for service 'WebApplicationContext'): An
> exception occurred obtaining the Spring WebApplicationContext:
> getAttribute() is not supported for ContextForPageTester.
> at
> org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObjec
> t(ServiceBuilderMethodInvoker.java:87)
> at
> org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService
> (SingletonServiceLifecycle.java:31)
> at
> org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createOb
> ject(LifecycleWrappedServiceCreator.java:49)
> at
> org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(In
> terceptorStackBuilder.java:54)
> at
> org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.cr
> eateObject(RecursiveServiceCreationCheckWrapper.java:60)
> at
> org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.create
> Object(JustInTimeObjectCreator.java:61)
> at
> $WebApplicationContext_1129587b4b7._delegate($WebApplicationContext_1129
> 587b4b7.java)
> at
> $WebApplicationContext_1129587b4b7.getBeanDefinitionNames($WebApplicatio
> nContext_1129587b4b7.java)
> at
> org.apache.tapestry.spring.SpringObjectProvider.loadBeanNames(SpringObje
> ctProvider.java:56)
> at
> org.apache.tapestry.spring.SpringObjectProvider.provide(SpringObjectProv
> ider.java:80)
> at
> $ObjectProvider_1129587b4b4.provide($ObjectProvider_1129587b4b4.java)
> at
> $ObjectProvider_1129587b4b6.provide($ObjectProvider_1129587b4b6.java)
> at
> $ObjectProvider_1129587b4b1.provide($ObjectProvider_1129587b4b1.java)
> at
> org.apache.tapestry.internal.services.InjectWorker.inject(InjectWorker.j
> ava:80)
> at
> org.apache.tapestry.internal.services.InjectWorker.transform(InjectWorke
> r.java:53)
> at
> $ComponentClassTransformWorker_1129587b4e2.transform($ComponentClassTran
> sformWorker_1129587b4e2.java)
> at
> $ComponentClassTransformWorker_1129587b4df.transform($ComponentClassTran
> sformWorker_1129587b4df.java)
> at
> org.apache.tapestry.internal.services.ComponentClassTransformerImpl.tran
> sformComponentClass(ComponentClassTransformerImpl.java:131)
> at
> $ComponentClassTransformer_1129587b4cb.transformComponentClass($Componen
> tClassTransformer_1129587b4cb.java)
> at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.on
> Load(ComponentInstantiatorSourceImpl.java:177)
> at javassist.Loader.findClass(Loader.java:340)
> at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl$Pa
> ckageAwareLoader.findClass(ComponentInstantiatorSourceImpl.java:85)
> at javassist.Loader.loadClass(Loader.java:311)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.fi
> ndClass(ComponentInstantiatorSourceImpl.java:254)
> at
> org.apache.tapestry.internal.services.ComponentInstantiatorSourceImpl.fi
> ndInstantiator(ComponentInstantiatorSourceImpl.java:240)
> at
> $ComponentInstantiatorSource_1129587b4c2.findInstantiator($ComponentInst
> antiatorSource_1129587b4c2.java)
> at
> org.apache.tapestry.internal.services.PageElementFactoryImpl.newRootComp
> onentElement(PageElementFactoryImpl.java:189)
> at
> $PageElementFactory_1129587b4da.newRootComponentElement($PageElementFact
> ory_1129587b4da.java)
> at
> org.apache.tapestry.internal.services.PageLoaderProcessor.loadRootCompon
> ent(PageLoaderProcessor.java:348)
> at
> org.apache.tapestry.internal.services.PageLoaderProcessor.loadPage(PageL
> oaderProcessor.java:333)
> at
> org.apache.tapestry.internal.services.PageLoaderImpl.loadPage(PageLoader
> Impl.java:62)
> at
> $PageLoader_1129587b4d8.loadPage($PageLoader_1129587b4d8.java)
> at
> org.apache.tapestry.internal.services.PagePoolImpl.checkout(PagePoolImpl
> .java:63)
> at $PagePool_1129587b4d7.checkout($PagePool_1129587b4d7.java)
> at
> org.apache.tapestry.internal.services.RequestPageCacheImpl.getByClassNam
> e(RequestPageCacheImpl.java:58)
> at
> org.apache.tapestry.internal.services.RequestPageCacheImpl.get(RequestPa
> geCacheImpl.java:49)
> at
> $RequestPageCache_1129587b4d6.get($RequestPageCache_1129587b4d6.java)
> at
> $RequestPageCache_1129587b4be.get($RequestPageCache_1129587b4be.java)
> at
> org.apache.tapestry.internal.services.PageLinkHandlerImpl.handle(PageLin
> kHandlerImpl.java:57)
> at
> $PageLinkHandler_1129587b4cd.handle($PageLinkHandler_1129587b4cd.java)
> at
> org.apache.tapestry.test.pagelevel.PageLinkInvoker.invoke(PageLinkInvoke
> r.java:61)
> at
> org.apache.tapestry.test.pagelevel.PageTester.invoke(PageTester.java:212
> )
> at
> org.apache.tapestry.test.pagelevel.PageTester.renderPage(PageTester.java
> :180)
> at
> com.btservices.storeportal.components.TestStoreHierarchy.testStoreHierar
> chy(TestStoreHierarchy.java:25)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethod
> Runner.java:99)
> at
> org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRun
> ner.java:81)
> at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf
> terRunner.java:34)
> at
> org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.j
> ava:75)
> at
> org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45
> )
> at
> org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestC
> lassMethodsRunner.java:66)
> at
> org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRu
> nner.java:35)
> at
> org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRun
> ner.java:42)
> at
> org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAf
> terRunner.java:34)
> at
> org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
> at
> org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.jav
> a:62)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSe
> t(AbstractDirectoryTestSuite.java:138)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(Abstr
> actDirectoryTestSuite.java:125)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(Suref
> ireBooter.java:290)
> at
> org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java
> :818)
> Caused by: java.lang.RuntimeException: An exception occurred obtaining
> the Spring WebApplicationContext: getAttribute() is not supported for
> ContextForPageTester.
> at
> org.apache.tapestry.spring.SpringModule.build(SpringModule.java:55)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav
> a:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObjec
> t(ServiceBuilderMethodInvoker.java:75)
> ... 68 more
> Caused by: java.lang.UnsupportedOperationException: getAttribute() is
> not supported for ContextForPageTester.
> at
> org.apache.tapestry.test.pagelevel.ContextForPageTester.getAttribute(Con
> textForPageTester.java:64)
> at $Context_1129587b4e5.getAttribute($Context_1129587b4e5.java)
> at $Context_1129587b4e4.getAttribute($Context_1129587b4e4.java)
> at
> org.apache.tapestry.spring.SpringModule.build(SpringModule.java:50)
> ... 73 more
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
--
Howard M. Lewis Ship
TWD Consulting, Inc.
Independent J2EE / Open-Source Java Consultant
Creator and PMC Chair, Apache Tapestry
Creator, Apache HiveMind
Professional Tapestry training, mentoring, support
and project work. http://howardlewisship.com