Just to be sure I have all the latest dependencies downloaded, I cleaned my 
local Maven repo. After that I get another error than before. My tests actually 
run but with the following error:

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 5.554 sec <<< 
FAILURE! - in integration.tests.CompaniesIntegTest
happyCase(integration.tests.CompaniesIntegTest)  Time elapsed: 0.114 sec  <<< 
ERROR!
javax.jdo.JDOException: Exception thrown when executing query
        at org.hsqldb.error.Error.error(Unknown Source)
        at org.hsqldb.error.Error.error(Unknown Source)
        at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source)
        at org.hsqldb.QueryExpression.resolve(Unknown Source)
        at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
        at org.hsqldb.ParserCommand.compilePart(Unknown Source)
        at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
        at org.hsqldb.Session.compileStatement(Unknown Source)
        at org.hsqldb.StatementManager.compile(Unknown Source)
        at org.hsqldb.Session.execute(Unknown Source)
        at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
        at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
        at 
org.datanucleus.store.rdbms.datasource.dbcp.DelegatingConnection.prepareStatement(DelegatingConnection.java:296)
        at 
org.datanucleus.store.rdbms.datasource.dbcp.PoolingDataSource$PoolGuardConnectionWrapper.prepareStatement(PoolingDataSource.java:320)
        at 
org.datanucleus.store.rdbms.SQLController.getStatementForQuery(SQLController.java:350)
        at 
org.datanucleus.store.rdbms.query.RDBMSQueryUtils.getPreparedStatementForQuery(RDBMSQueryUtils.java:194)
        at 
org.datanucleus.store.rdbms.query.JDOQLQuery.performExecute(JDOQLQuery.java:633)
        at org.datanucleus.store.query.Query.executeQuery(Query.java:1786)
        at org.datanucleus.store.query.Query.executeWithArray(Query.java:1672)
        at org.datanucleus.store.query.Query.execute(Query.java:1654)
        at 
org.datanucleus.api.jdo.query.JDOTypesafeQuery.executeInternalQuery(JDOTypesafeQuery.java:980)
        at 
org.datanucleus.api.jdo.query.JDOTypesafeQuery.executeList(JDOTypesafeQuery.java:750)
        at nl.pocos.dom.company.Companies.listAllForTest(Companies.java:483)
        at 
integration.tests.CompaniesIntegTest.happyCase(CompaniesIntegTest.java:35)

The test calls the following method:

public List<PortalCompany> listAllForTest()
        {
                TypesafeQuery<PortalCompany> tq = 
newTypesafeQuery(PortalCompany.class);
                QPortalCompany cand = QPortalCompany.candidate(); 
                tq.filter(cand.active.eq(true));
                return tq.executeList();
        }

My ToDoSystemInitializer has the following private class (like the 
ToDoApp-integtests):

private static class ToDoSystemBuilder extends IsisSystemForTest.Builder {

        public ToDoSystemBuilder() {
            withLoggingAt(org.apache.log4j.Level.INFO);
            with(testConfiguration());
            with(new DataNucleusPersistenceMechanismInstaller());

            // services annotated with @DomainService
            withServicesIn("nl.pocos.dom"
                                        ,"nl.pocos.dom.company"
                            ,"webapp.admin"
                            ,"org.apache.isis.core.wrapper"
                            ,"org.apache.isis.applib"
                            ,"org.apache.isis.core.metamodel.services"
                            ,"org.apache.isis.core.runtime.services"
                            
,"org.apache.isis.objectstore.jdo.datanucleus.service.support" // 
IsisJdoSupportImpl
                            
,"org.apache.isis.objectstore.jdo.datanucleus.service.eventbus" // 
EventBusServiceJdo
                            );
        }

        private static IsisConfiguration testConfiguration() {
            final IsisConfigurationForJdoIntegTests testConfiguration = new 
IsisConfigurationForJdoIntegTests();
                
testConfiguration.addRegisterEntitiesPackagePrefix("nl.pocos.dom");
            return testConfiguration;
        }
    }

Do I need to configure anything more for using the in memory database?

Thanks,
Erik

________________________________________
From: Dan Haywood [d...@haywood-associates.co.uk]
Sent: Wednesday, October 08, 2014 2:22 PM
To: users
Subject: Re: integration tests fail: problem with registration of services

is this against 1.7.0-snapshot or 1.6.0?

and (even better) can you provide an example demonstrating the issue on
github?

On 8 October 2014 13:17, Erik de Hair <e...@pocos.nl> wrote:

> Hi,
>
> When running integration tests I get the following stacktrace:
>
> Caused by: java.lang.IllegalStateException: No service found for thread;
> make sure ((RequestScopedService)service).__isis_startRequest() is called
> first
>     at
> org.apache.isis.core.runtime.services.ServiceInstantiator$2.invoke(ServiceInstantiator.java:117)
>     at
> org.apache.isis.applib.annotation.Bulk$InteractionContext_$$_jvst36f_0.hashCode(Bulk$InteractionContext_$$_jvst36f_0.java)
>     at
> org.apache.isis.core.runtime.persistence.adaptermanager.PojoAdapterHashMap.add(PojoAdapterHashMap.java:121)
>     at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.mapAndInjectServices(AdapterManagerDefault.java:717)
>     at
> org.apache.isis.core.runtime.persistence.adaptermanager.AdapterManagerDefault.adapterFor(AdapterManagerDefault.java:174)
>     at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.createServiceAdapters(PersistenceSession.java:221)
>     at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.initServices(PersistenceSession.java:209)
>     at
> org.apache.isis.core.runtime.system.persistence.PersistenceSession.open(PersistenceSession.java:199)
>     at
> org.apache.isis.core.runtime.system.session.IsisSessionDefault.open(IsisSessionDefault.java:110)
>     at
> org.apache.isis.core.runtime.system.context.IsisContextStatic.openSessionInstance(IsisContextStatic.java:71)
>     at
> org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
>     at
> org.apache.isis.core.runtime.system.IsisSystemFixturesHookAbstract.initializeServices(IsisSystemFixturesHookAbstract.java:177)
>
> I'm using the todo app ToDoSystemInitializer with the following
> registration of services:
>
> // services annotated with @DomainService
>             withServices(new Contacts(), new Companies(),
>                     new Permissions(), new Roles(),
>                     new NestedSetManagerService(),
>                     new QueryResultsCache());
>
> withServicesIn("org.apache.isis.core.wrapper"
>                             ,"org.apache.isis.applib"
>                             ,"org.apache.isis.core.metamodel.services"
>                             ,"org.apache.isis.core.runtime.services"
>
> ,"org.apache.isis.objectstore.jdo.datanucleus.service.support" //
> IsisJdoSupportImpl
>
> ,"org.apache.isis.objectstore.jdo.datanucleus.service.eventbus" //
> EventBusServiceJdo
>                             );
>
> When I omit the withServicesIn-call my tests start but I get an other
> error later on.
>
> I used the todoapp as the basis for my tests but had to replace/remove the
> dom-part with my own dom. The todoapp tests run OK.
>
> Any idea?
> Erik
>

Reply via email to