From users-return-6096-archive-asf-public=cust-asf.ponee.io@isis.apache.org Sun Sep 2 18:03:03 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 03CC9180649 for ; Sun, 2 Sep 2018 18:03:02 +0200 (CEST) Received: (qmail 60939 invoked by uid 500); 2 Sep 2018 16:03:02 -0000 Mailing-List: contact users-help@isis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@isis.apache.org Delivered-To: mailing list users@isis.apache.org Received: (qmail 60924 invoked by uid 99); 2 Sep 2018 16:03:01 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 02 Sep 2018 16:03:01 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 15D5E1A1C71 for ; Sun, 2 Sep 2018 16:03:01 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.77 X-Spam-Level: X-Spam-Status: No, score=0.77 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, T_DKIMWL_WL_MED=-0.01] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=terwesten-net.20150623.gappssmtp.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id NBhs8JLCJ9T2 for ; Sun, 2 Sep 2018 16:02:59 +0000 (UTC) Received: from mail-wm0-f53.google.com (mail-wm0-f53.google.com [74.125.82.53]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id B74E45F27E for ; Sun, 2 Sep 2018 16:02:58 +0000 (UTC) Received: by mail-wm0-f53.google.com with SMTP id j25-v6so7031446wmc.1 for ; Sun, 02 Sep 2018 09:02:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=terwesten-net.20150623.gappssmtp.com; s=20150623; h=from:content-transfer-encoding:mime-version:subject:message-id:date :to; bh=K91CNv3DQ4eTP87PsurC4lid3nxVlZVUkiyGSixASe8=; b=0Cpgy6t/2zc9wFRuXo5yIFXB9MPdhqKhM5qJhMO1xemg2DnF2hYJANyMlaZNC4LlGO Wn4SL48tXoX6AvD79kNF8aXtj8ihANILBmVLrUm7RHvlj2a9+EeBviHHDL54NZKZNjEB y9O/8DtpfgCabLS7SJzlTx5/oeEC9xMxfXhm3s9S3kNtCjvd38XlMwD4bv2j/Lko8x1r ltApMpr8W2ldJazx615j9oqzNs5ZsnVrVIePRu702Kf1btpNY2FnKK46M1C4L0L511HP GCuBvdwlla3G7eu1bUeIx6txLPw9J7SrEp17co0fYdqJBVtVAxf2qUro02dxLurZA3nf 6J0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:message-id:date:to; bh=K91CNv3DQ4eTP87PsurC4lid3nxVlZVUkiyGSixASe8=; b=eFPn+MaGALpeOTZqCF+kTqVmSBnByqhi8jHK9PnrHpN0FOIEMwtRyP86VaEmiZJekC oKwtNFxZvFyhMv1lAsjE4sUWap0HbzlkuwMF47eZi7Poo8AqlwwJt7SE4wfxkR0LMsqI b2cHUC/fUp3AVQ5PSK7rFfPvLxsDh6xxJQHi4fqHQMZfWoAXeXTGoO3xzuMC92d+FUN2 b7IkBYHGhE0ge3X4huMNyQxIBMS5ErUUm291ULwNDWU+7ZWu4MultBI+6LNgSr10cLzV CXPhc75hzgeKQttx1Ls+WCyz/qZDlDQCvD7v+Hye4JIr/PWQO6PrSGfsZgVp3fUGcqfU dP0w== X-Gm-Message-State: APzg51AbRpaj/kOwu/CQuKysRl5jJ30RsMInyRNs3R1dCV/JlmEkSewy JxvO/+EjaLzvqwdpwcEwSXmU05d1bQ== X-Google-Smtp-Source: ANB0VdZwTxQmouFNJbBw29RFo0BvkCLiNP3E4MhsdPXR0GY7b0sPboCxS8BVCNRkFt78d5yO/OIaPw== X-Received: by 2002:a1c:6a06:: with SMTP id f6-v6mr2866431wmc.159.1535904177159; Sun, 02 Sep 2018 09:02:57 -0700 (PDT) Received: from [192.168.1.172] (ppp-93-104-175-221.dynamic.mnet-online.de. [93.104.175.221]) by smtp.gmail.com with ESMTPSA id j2-v6sm10125527wmj.5.2018.09.02.09.02.56 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 02 Sep 2018 09:02:56 -0700 (PDT) From: Gabriel Terwesten Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) Subject: Integration tests Message-Id: <7708807E-5918-4ADF-A933-36E6888A80CB@terwesten.net> Date: Sun, 2 Sep 2018 18:02:55 +0200 To: users@isis.apache.org X-Mailer: Apple Mail (2.3445.9.1) I just started experimenting with Apache Isis and had some issues = running integration tests. 1. Integration tests are not executed in module `module-simple`. This is only true for projects generated from the 2.0.0-M1 archetype. = The integration tests in module `application` are executed. To reproduce generate a project: mvn archetype:generate \ -D archetypeGroupId=3Dorg.apache.isis.archetype \ -D archetypeArtifactId=3Dsimpleapp-archetype \ -D archetypeVersion=3D2.0.0-M1 \ -D groupId=3Dcom.mycompany \ -D artifactId=3Disis-2 \ -D version=3D1.0-SNAPSHOT \ -B Then execute: - mvn clean install - mvn -pl module-simple verify The test output for integration tests is empty. 2. Integration test logging includes a lot of log events twice. During the bootstrapping of Isis for the integration test there seem to = be two appenders. The lines starting with the current time come from the = appender configured in `logging-integtest.properties`. I was not able to = understand where the second appender is configured. This is not a big = problem just a bit distracting. Here is an example: [INFO]=20 [INFO] --- maven-surefire-plugin:2.19.1:test (integ-bddspecs) @ = isis-2-application --- ------------------------------------------------------- T E S T S ------------------------------------------------------- Running domainapp.application.bdd.specs.RunIntegBddSpecs 17:23:27,766 [HeadlessWithBootstrappingAbstract main INFO ] = isis.integTest.module =3D null 17:23:27,767 [HeadlessWithBootstrappingAbstract main INFO ] = isis.headless.module =3D null 17:23:27,840 [IsisConfigurationDefault main INFO ] adding = isis.appManifest =3D org.apache.isis.applib.AppManifestAbstract2$Default 74 [IsisConfigurationDefault main INFO ] adding = isis.appManifest =3D org.apache.isis.applib.AppManifestAbstract2$Default 17:23:28,077 [Reflections main INFO ] Reflections took = 195 ms to scan 12 urls, producing 319 keys and 1050 values=20 311 [Reflections main INFO ] Reflections took 195 = ms to scan 12 urls, producing 319 keys and 1050 values=20 17:23:28,204 [IsisConfigurationDefault main INFO ] adding = isis.services.ServicesInstallerFromAnnotation.packagePrefix =3D = domainapp.modules.simple,domainapp.application 438 [IsisConfigurationDefault main INFO ] adding = isis.services.ServicesInstallerFromAnnotation.packagePrefix =3D = domainapp.modules.simple,domainapp.application 17:23:28,205 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.RegisterEntities.packagePrefix =3D = domainapp.modules.simple,domainapp.application 439 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.RegisterEntities.packagePrefix =3D = domainapp.modules.simple,domainapp.application 17:23:28,207 [IsisConfigurationDefault main INFO ] adding = isis.services =3D = org.apache.isis.core.integtestsupport.components.HeadlessTransactionSuppor= tDefault 441 [IsisConfigurationDefault main INFO ] adding isis.services = =3D = org.apache.isis.core.integtestsupport.components.HeadlessTransactionSuppor= tDefault 17:23:28,207 [IsisConfigurationDefault main INFO ] adding = isis.deploymentType =3D server_prototype 441 [IsisConfigurationDefault main INFO ] adding = isis.deploymentType =3D server_prototype 17:23:28,207 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.cache.level2.type =3D none 441 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.cache.level2.type =3D none 17:23:28,207 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCom= mit =3D false 441 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.persistenceByReachabilityAtCom= mit =3D false 17:23:28,208 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode =3D = ENABLE_SELECTIVE 442 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.cache.level2.mode =3D = ENABLE_SELECTIVE 17:23:28,208 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName =3D = org.hsqldb.jdbcDriver 442 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionDriverName =3D = org.hsqldb.jdbcDriver 17:23:28,208 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.schema.validateAll =3D false 442 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.datanucleus.schema.validateAll =3D false 17:23:28,208 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword =3D = ******** 442 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionPassword =3D = ******** 17:23:28,209 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL =3D = jdbc:hsqldb:mem:test-07b19913-71b6-4994-8d71-6a3aaaf79e00 443 [IsisConfigurationDefault main INFO ] adding = isis.persistor.datanucleus.impl.javax.jdo.option.ConnectionURL =3D = jdbc:hsqldb:mem:test-07b19913-71b6-4994-8d71-6a3aaaf79e00 3. Unexpected error when accessing collection through wrapper. Inside of integration tests i can=E2=80=99t seem to access collections = through the getter if the object is wrapped. =46rom the documentation I = got the impression that that should be possible.=20 This is the offending line: assertThat(wrap(food).getCustomUnits()).hasSize(1); This is the error I see: java.lang.IllegalArgumentException: = domainapp.modules.core.dom.impl.Food#customUnits: more than one = ImperativeFacet for method getCustomUnits , with inconsistent intents: = [CollectionAccessorFacetViaAccessor[type=3DPropertyOrCollectionAccessorFac= et,method=3Dpublic java.util.SortedSet = domainapp.modules.core.dom.impl.Food.getCustomUnits()], = CollectionClearFacetViaAccessor[type=3DCollectionClearFacet,method=3Dpubli= c java.util.SortedSet = domainapp.modules.core.dom.impl.Food.getCustomUnits()], = CollectionAddToFacetViaAccessor[type=3DCollectionAddToFacet,method=3Dpubli= c java.util.SortedSet = domainapp.modules.core.dom.impl.Food.getCustomUnits()], = CollectionRemoveFromFacetViaAccessor[type=3DCollectionRemoveFromFacet,meth= od=3Dpublic java.util.SortedSet = domainapp.modules.core.dom.impl.Food.getCustomUnits()]] at = org.apache.isis.core.metamodel.facets.ImperativeFacet$Util.getIntent(Imper= ativeFacet.java:167) at = org.apache.isis.core.wrapper.handlers.DomainObjectInvocationHandler.invoke= (DomainObjectInvocationHandler.java:199) at = domainapp.modules.core.dom.impl.Food$bb$VbQPvDRl.getCustomUnits(Unknown = Source) at = domainapp.modules.core.integtests.tests.Food_IntegTest$AddUnit.shouldWork(= Food_IntegTest.java:32) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at = sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:= 62) at = sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorIm= pl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at = org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUti= ls.java:513) at = org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvo= ker.java:115) at = org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invoke= TestMethod$6(TestMethodTestDescriptor.java:170) at = org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCol= lector.java:40) at = org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMet= hod(TestMethodTestDescriptor.java:166) at = org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestM= ethodTestDescriptor.java:113) at = org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestM= ethodTestDescriptor.java:58) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:113) at = org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeS= afely(SingleTestExecutor.java:66) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.executeRecursively(HierarchicalTestExecutor.java:108) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.execute(HierarchicalTestExecutor.java:79) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:121) at = java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at = java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.Iterator.forEachRemaining(Iterator.java:116) at = java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.j= ava:1801) at = java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at = java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:47= 1) at = java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:1= 51) at = java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.= java:174) at = java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at = java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:121) at = org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeS= afely(SingleTestExecutor.java:66) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.executeRecursively(HierarchicalTestExecutor.java:108) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.execute(HierarchicalTestExecutor.java:79) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.lambda$executeRecursively$2(HierarchicalTestExecutor.java:121) at = java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184) at = java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175) at java.util.Iterator.forEachRemaining(Iterator.java:116) at = java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.j= ava:1801) at = java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at = java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:47= 1) at = java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:1= 51) at = java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.= java:174) at = java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at = java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.lambda$executeRecursively$3(HierarchicalTestExecutor.java:121) at = org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeS= afely(SingleTestExecutor.java:66) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.executeRecursively(HierarchicalTestExecutor.java:108) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$No= deExecutor.execute(HierarchicalTestExecutor.java:79) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.ex= ecute(HierarchicalTestExecutor.java:55) at = org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.exec= ute(HierarchicalTestEngine.java:43) at = org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.j= ava:170) at = org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.j= ava:154) at = org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.j= ava:90) at = com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTes= tRunner.java:74) at = com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArg= s(IdeaTestRunner.java:47) at = com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitS= tarter.java:242) at = com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70) I can provide a demo repo if this needs some investigation but maybe = I=E2=80=99m making some obvious mistake here. Thanks four your help.