You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Tony Nelson <tn...@starpoint.com> on 2011/12/05 20:40:27 UTC

tapestry-hibernate 5.3 and spock

I'm trying to test my application with spock and have run into an issue.  I have put a sample app on github at:

https://github.com/hhubris/broken

If you clone the app, and run mvn clean test, everything works just fine.

In AppModule:24-28 I have the following commented out:

    /*
    public static void contributeHibernateEntityPackageManager(Configuration<String> configuration) {
        configuration.add("com.starpoint.helpdesk.domain");
    }
    */


This simply adds a configuration option to the hibernate module.  Uncomment this and rerun the test.  The result is:

[-- snip --]
Results :

Tests in error: 
  com.starpoint.domain.UserTest: Contribution com.starpoint.services.AppModule.contributeHibernateEntityPackageManager(Configuration) (at AppModule.java:25) is for service 'HibernateEntityPackageManager', which does not exist.

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[-- snip --]

To fix this, I added HibernateCoreModule to the list of SubModules used in the spock test. You can uncomment line 11 of UserTest and comment out line 12.  The new result is:

[-- snip --]
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.385 sec <<< FAILURE!

Results :

Tests in error: 
  com.starpoint.domain.UserTest: Exception constructing service 'RegistryStartup': Error invoking service contribution method org.apache.tapestry5.hibernate.HibernateCoreModule.contributeRegistryStartup(OrderedConfiguration, boolean, HibernateSessionSource): Exception constructing service 'FactoryDefaults': Error invoking service contribution method org.apache.tapestry5.services.TapestryModule.contributeFactoryDefaults(MappedConfiguration): Exception constructing service 'TypeCoercer': Error invoking service contribution method org.apache.tapestry5.services.TapestryModule.contributeTypeCoercer(Configuration, TypeCoercer, ThreadLocale, AssetSource, ComponentClassCache, DynamicTemplateParser): Error building service proxy for service 'ThreadLocale' (at org.apache.tapestry5.ioc.internal.services.ThreadLocaleImpl() (at ThreadLocaleImpl.java:24) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49)): Exception constructing service 'ServiceLifecycleSource': Error invoking service contribution method org.spockframework.tapestry.ExtensionModule.contributeServiceLifecycleSource(MappedConfiguration): Exception constructing service 'ServiceOverride': Error invoking service contribution method org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration, boolean): Exception constructing service 'TypeCoercer': Construction of service 'TypeCoercer' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.ioc.internal.services.TypeCoercerImpl(Collection) (at TypeCoercerImpl.java:129) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49) for references to another service that is itself dependent on service 'TypeCoercer'.

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
[-- snip --]

I'm not sure what to try next.

I asked on the spock list and they suggested I ask here.  Anyone have any success testing tapestry-hibernate apps with spock?

Thanks in advance
Tony Nelson





Re: tapestry-hibernate 5.3 and spock

Posted by Tony Nelson <tn...@starpoint.com>.
Hate to do this but I'm really stuck here.

Anyone have any idea what I can try next here?

On Dec 5, 2011, at 2:40 PM, Tony Nelson wrote:

> I'm trying to test my application with spock and have run into an issue.  I have put a sample app on github at:
> 
> https://github.com/hhubris/broken
> 
> If you clone the app, and run mvn clean test, everything works just fine.
> 
> In AppModule:24-28 I have the following commented out:
> 
>    /*
>    public static void contributeHibernateEntityPackageManager(Configuration<String> configuration) {
>        configuration.add("com.starpoint.helpdesk.domain");
>    }
>    */
> 
> 
> This simply adds a configuration option to the hibernate module.  Uncomment this and rerun the test.  The result is:
> 
> [-- snip --]
> Results :
> 
> Tests in error: 
>  com.starpoint.domain.UserTest: Contribution com.starpoint.services.AppModule.contributeHibernateEntityPackageManager(Configuration) (at AppModule.java:25) is for service 'HibernateEntityPackageManager', which does not exist.
> 
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
> [-- snip --]
> 
> To fix this, I added HibernateCoreModule to the list of SubModules used in the spock test. You can uncomment line 11 of UserTest and comment out line 12.  The new result is:
> 
> [-- snip --]
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.385 sec <<< FAILURE!
> 
> Results :
> 
> Tests in error: 
>  com.starpoint.domain.UserTest: Exception constructing service 'RegistryStartup': Error invoking service contribution method org.apache.tapestry5.hibernate.HibernateCoreModule.contributeRegistryStartup(OrderedConfiguration, boolean, HibernateSessionSource): Exception constructing service 'FactoryDefaults': Error invoking service contribution method org.apache.tapestry5.services.TapestryModule.contributeFactoryDefaults(MappedConfiguration): Exception constructing service 'TypeCoercer': Error invoking service contribution method org.apache.tapestry5.services.TapestryModule.contributeTypeCoercer(Configuration, TypeCoercer, ThreadLocale, AssetSource, ComponentClassCache, DynamicTemplateParser): Error building service proxy for service 'ThreadLocale' (at org.apache.tapestry5.ioc.internal.services.ThreadLocaleImpl() (at ThreadLocaleImpl.java:24) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49)): Exception constructing service 'ServiceLifecycleSource': Error invoking service contribution method org.spockframework.tapestry.ExtensionModule.contributeServiceLifecycleSource(MappedConfiguration): Exception constructing service 'ServiceOverride': Error invoking service contribution method org.apache.tapestry5.services.TapestryModule.productionModeOverrides(MappedConfiguration, boolean): Exception constructing service 'TypeCoercer': Construction of service 'TypeCoercer' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.ioc.internal.services.TypeCoercerImpl(Collection) (at TypeCoercerImpl.java:129) via org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at TapestryIOCModule.java:49) for references to another service that is itself dependent on service 'TypeCoercer'.
> 
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0
> [-- snip --]
> 
> I'm not sure what to try next.
> 
> I asked on the spock list and they suggested I ask here.  Anyone have any success testing tapestry-hibernate apps with spock?
> 
> Thanks in advance
> Tony Nelson
> 
> 
> 
> 


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