It doesn't look like you are including TapestryModule in your registry.
Since you're building the registry you're in charge kit adding all the
modules.

Optionally you could add @SubModule(TapestryModule.class) to your AppModule
to make the dependency explicit.
On Jan 5, 2011 4:25 AM, "abangkis" <abang...@gmail.com> wrote:
> Hello, i have a tapestry app that consist of 1-2 pages, and lots of
> services. The apps is used to crawl another website. The apps uses
hibernate
> module, quartz and some other contribution. Because of the nature of my
> apps, i want to test the services class using TestNG. I've created a
simple
> test that build the tapestry registry for my services and run it. But i
> received an error that the ComponentRequestHandler doesn't exist. Here's
the
> contribution in the appmodule, test file and the stack trace. I wonder
what
> I've missed ?
>
>
> Cheers,
> Abangkis
>
> public class AppModule {
> ....
>
> public void
>
contributeComponentRequestHandler(OrderedConfiguration<ComponentRequestFilter>
> configuration) {
> configuration.addInstance("PageProtectionFilter",
> PageProtectionFilter.class);
> }
> public void contributeRequestHandler(OrderedConfiguration<RequestFilter>
> configuration,
> PageRenderLinkSource pageRenderLinkSource) {
> final HashSet<String> ASSETS_WHITE_LIST = new
> HashSet<String>(Arrays.asList("jpg", "jpeg", "png", "gif", "js",
> "css", "ico", "html", "json"));
> configuration.add("AssetProtectionFilter", new
> AssetProtectionFilter(ASSETS_WHITE_LIST, pageRenderLinkSource),
> "before:*");
> }
> ....
> }
>
> public class MyTest {
> private Registry registry;
>
> @Test
> public void f() {
> String pageName = "DummyPage";
> MovieManager movieManager = registry.getService(MovieManager.class);
> String result = movieManager.getMovieTitle(pageName);
> assertEquals("Gullivers Island", result);
> }
>
> @BeforeClass
> public void beforeClass() {
> // registry = IOCUtilities.buildDefaultRegistry();
> initRegistry();
> }
>
> private void initRegistry() {
> RegistryBuilder builder = new RegistryBuilder();
> builder.add(ChenilleKitQuartzModule.class);
> builder.add(AppModule.class);
> registry = builder.build();
> registry.performRegistryStartup();
> }
>
> @AfterClass
> public void afterClass() {
> registry.shutdown();
> }
>
> }
>
> FAILED CONFIGURATION: @BeforeClass beforeClass
> java.lang.IllegalArgumentException: Contribution
>
net.mreunion.cinematorserver.services.AppModule.contributeComponentRequestHandler(OrderedConfiguration)
> (at AppModule.java:145) is for service 'ComponentRequestHandler', which
does
> not exist.
> at
>
org.apache.tapestry5.ioc.internal.RegistryImpl.validateContributeDefs(RegistryImpl.java:253)
> at
>
org.apache.tapestry5.ioc.internal.RegistryImpl.<init>(RegistryImpl.java:229)
> at
org.apache.tapestry5.ioc.RegistryBuilder.build(RegistryBuilder.java:170)
> at
> net.mreunion.cinematorserver.TestEscapedCharacter.initRegistry(MyTest
.java:45)
> at
> net.mreunion.cinematorserver.TestEscapedCharacter.beforeClass(MyTest
.java:33)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
> at java.lang.reflect.Method.invoke(Unknown Source)
> at
>
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:74)
> at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:525)
> at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:202)
> at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:130)
> at
>
org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:173)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:105)
> at org.testng.TestRunner.runWorkers(TestRunner.java:1125)
> at org.testng.TestRunner.privateRun(TestRunner.java:749)
> at org.testng.TestRunner.run(TestRunner.java:600)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
> at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
> at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
> at org.testng.SuiteRunner.run(SuiteRunner.java:223)
> at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
> at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
> at org.testng.TestNG.runSuitesSequentially(TestNG.java:995)
> at org.testng.TestNG.runSuitesLocally(TestNG.java:920)
> at org.testng.TestNG.run(TestNG.java:856)
> at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:110)
> at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
> at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:174)
>
>
> --
> http://www.mreunion-labs.net/
> twitter : @mreunionlabs
> blog : mreunion.wordpress.com
> Follow our android survey at :
> http://www.mreunion-labs.net/downloads:dlapk/MySurvey.apk

Reply via email to