Oops, also the test is currently trivial


package domainapp.integtests.tests.modules.reports;

import static org.assertj.core.api.Assertions.assertThat;

import java.util.List;

import javax.inject.Inject;

import org.apache.isis.applib.fixturescripts.FixtureScripts;
import org.joda.time.DateTime;
import org.junit.Test;

import au.com.scds.chats.dom.module.activity.Activities;
import au.com.scds.chats.dom.module.activity.ActivityEvent;
import
au.com.scds.chats.dom.module.reports.ParticipantDateLastAttendedResult;
import au.com.scds.chats.dom.module.reports.ReportsList;
import domainapp.integtests.tests.DomainAppIntegTest;
import domainapp.integtests.tests.modules.activity.ActivitiesIntegTest;

public class ReportsIntegTest extends DomainAppIntegTest {

    @Inject
    ReportsList reports;

    public static class Create extends ReportsIntegTest {

        @Test
        public void happyCase() throws Exception {

            // given
            //DateTime startDateTime = new DateTime();

            // when
            List<ParticipantDateLastAttendedResult> results =
wrap(reports).ParticipantsByMonthsInactiveReport(null);

            // then
            assertThat(results.size()).isEqualTo(0);
        }
    }
}

On Tue, Sep 29, 2015 at 4:47 AM, Stephen Cameron <steve.cameron...@gmail.com
> wrote:

> Hi,
>
> I have a problem running a single in integration testing, I get an error
> message saying that a table is not present. This is not seen when I run the
> whole integtest project via 'mvn test'.
>
> I don't think that the specific class mentioned is the problem, as I say
> its created successfully everywhere else. Maybe wrong, so the class code is
> after the error below.
>
> 04:41:17,983  [Schema               Thread-0   DEBUG]  An error occurred
> while auto-creating schema elements - rolling back
> Persistent class
> "au.com.scds.chats.dom.module.general.names.ClassificationValue" has no
> table in the database, but the operation requires it. Please check the
> specification of the MetaData for this class.
> org.datanucleus.store.rdbms.exceptions.NoTableManagedException: Persistent
> class "au.com.scds.chats.dom.module.general.names.ClassificationValue" has
> no table in the database, but the operation requires it. Please check the
> specification of the MetaData for this class.
>     at
> org.datanucleus.store.rdbms.RDBMSStoreManager.getDatastoreClass(RDBMSStoreManager.java:698)
>     at
> org.datanucleus.store.rdbms.table.ClassTable.initializePK(ClassTable.java:1003)
>     at
> org.datanucleus.store.rdbms.table.ClassTable.preInitialize(ClassTable.java:250)
>     at
> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.addClassTable(RDBMSStoreManager.java:3194)
>     at
> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.addClassTables(RDBMSStoreManager.java:2993)
>     at
> org.datanucleus.store.rdbms.RDBMSStoreManager$ClassAdder.run(RDBMSStoreManager.java:2872)
>     at
> org.datanucleus.store.rdbms.AbstractSchemaTransaction.execute(AbstractSchemaTransaction.java:119)
>     at
> org.datanucleus.store.rdbms.RDBMSStoreManager.createSchemaForClasses(RDBMSStoreManager.java:3842)
>     at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.createSchema(DataNucleusApplicationComponents.java:196)
>     at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.createPmfAndSchemaIfRequired(DataNucleusApplicationComponents.java:155)
>     at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.initialize(DataNucleusApplicationComponents.java:110)
>     at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusApplicationComponents.<init>(DataNucleusApplicationComponents.java:103)
>     at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createDataNucleusApplicationComponentsIfRequired(DataNucleusPersistenceMechanismInstaller.java:134)
>     at
> org.apache.isis.objectstore.jdo.datanucleus.DataNucleusPersistenceMechanismInstaller.createObjectStore(DataNucleusPersistenceMechanismInstaller.java:110)
>     at
> org.apache.isis.core.runtime.system.persistence.PersistenceSessionFactory.createPersistenceSession(PersistenceSessionFactory.java:95)
>     at
> org.apache.isis.core.runtime.system.session.IsisSessionFactory.openSession(IsisSessionFactory.java:141)
>     at
> org.apache.isis.core.runtime.system.context.IsisContextStatic.openSessionInstance(IsisContextStatic.java:70)
>     at
> org.apache.isis.core.runtime.system.context.IsisContext.openSession(IsisContext.java:279)
>     at
> org.apache.isis.core.runtime.system.IsisSystem.shutdownServices(IsisSystem.java:311)
>     at
> org.apache.isis.core.runtime.system.IsisSystem.shutdown(IsisSystem.java:300)
>     at
> org.apache.isis.core.integtestsupport.IsisSystemForTest.shutdown(IsisSystemForTest.java:467)
>     at
> org.apache.isis.core.integtestsupport.IsisSystemForTest.access$100(IsisSystemForTest.java:74)
>     at
> org.apache.isis.core.integtestsupport.IsisSystemForTest$Builder$1.run(IsisSystemForTest.java:301)
> 04:41:17,985  [ObjectReflectorDefault Thread-0   INFO ]  shutting down
> org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault@3b4eb5a4
>
>
> package au.com.scds.chats.dom.module.general.names;
>
> import javax.jdo.annotations.Column;
> import javax.jdo.annotations.IdentityType;
> import javax.jdo.annotations.Inheritance;
> import javax.jdo.annotations.InheritanceStrategy;
> import javax.jdo.annotations.PersistenceCapable;
> import javax.jdo.annotations.PrimaryKey;
>
> import au.com.scds.chats.dom.AbstractNamedChatsDomainEntity;
>
> @PersistenceCapable(identityType = IdentityType.APPLICATION)
> @Inheritance(strategy = InheritanceStrategy.SUBCLASS_TABLE)
> public abstract class ClassificationValue {
>
>     private String name;
>
>     @PrimaryKey
>     @Column(allowsNull="false")
>     public String getName() {
>         return name;
>     }
>
>     public void setName(String name) {
>         this.name = name;
>     }
>
>     @Override
>     public boolean equals(final Object obj) {
>         if (obj == null) {
>             return false;
>         }
>         if (obj == this) {
>             return true;
>         }
>         if (!this.getClass().isInstance(obj)) {
>             return false;
>         }
>         return ((ClassificationValue)
> obj).getName().equals(this.getName());
>     }
>
>     @Override
>     public String toString() {
>         return this.getClass().getName() + ":" + this.getName();
>     }
> }
>
>

Reply via email to