You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/03/11 07:14:05 UTC

[isis-app-simpleapp] 04/07: splits out tests into their own modules (not yet building)

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch jpa
in repository https://gitbox.apache.org/repos/asf/isis-app-simpleapp.git

commit 620f3e6a8ae485933b5990e8e167a73bdbce0b54
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Mar 10 06:44:02 2021 +0000

    splits out tests into their own modules (not yet building)
---
 module-simple-tests/.gitignore                     |   8 +
 {webapp => module-simple-tests}/log4j2-test.xml    |  10 --
 {module-simple => module-simple-tests}/pom.xml     |  49 ++----
 .../modules/simple/dom/so/SimpleObject_Test.java   |   0
 .../modules/simple/dom/so/SimpleObjects_Test.java  |   0
 .../integtests/SimpleModuleIntegTestAbstract.java  |   0
 .../integtests/SimpleModuleTestConfiguration.java  |   0
 .../integtests/tests/SimpleObject_IntegTest.java   |   0
 .../integtests/tests/SimpleObjects_IntegTest.java  |   0
 .../src/test/resources/application-test.yml        |   0
 module-simple/pom.xml                              |  39 +----
 .../domainapp/modules/simple/SimpleModule.java     |   6 +-
 pom.xml                                            |  24 ++-
 {webapp => webapp-tests}/log4j2-test.xml           |   0
 webapp-tests/pom.xml                               | 171 +++++++++++++++++++++
 .../domainapp/webapp/bdd/CucumberTestAbstract.java |   0
 .../domainapp/webapp/bdd/specs/CucumberTest.java   |   0
 .../webapp/bdd/stepdefs/BddStepDefsModule.java     |   0
 .../bdd/stepdefs/domain/SimpleObjectsContext.java  |   0
 .../domain/SimpleObjectsGivenThenStepDef.java      |   0
 .../stepdefs/domain/SimpleObjectsWhenStepDef.java  |   0
 .../stepdefs/fixtures/DomainAppDemoStepDef.java    |   0
 .../stepdefs/infrastructure/BootstrapStepDef.java  |   0
 .../infrastructure/TransactionalStepDef.java       |   0
 .../webapp/integtests/WebAppIntegTestAbstract.java |   0
 .../metamodel/SwaggerExport_IntegTest.java         |   0
 .../metamodel/ValidateDomainModel_IntegTest.java   |   0
 .../lockdown/LockDownMetaModel_IntegTest.java      |   0
 ...ainapp.modules.simple.dom.impl.SimpleObject.xml |   0
 ...inapp.modules.simple.dom.impl.SimpleObjects.xml |   0
 ...omainapp.modules.simple.dom.so.SimpleObject.xml |   0
 ...mainapp.modules.simple.dom.so.SimpleObjects.xml |   0
 ...app.modules.simple.types.Name$Specification.xml |   0
 ...omainAppFixtureScriptsSpecificationProvider.xml |   0
 ...tion.services.health.HealthCheckServiceImpl.xml |   0
 ...ication.services.homepage.HomePageViewModel.xml |   0
 .../metamodel/lockdown/current/.gitignore          |   0
 .../webapp/integtests/smoke/Smoke_IntegTest.java   |   0
 .../unittests/archunit/ArchitectureTests.java      |   0
 .../mavendeps/lockdown/LockDownMavenDeps_Test.java |   0
 .../approved/LockDownMavenDeps_Test.list.txt       |   0
 .../approved/LockDownMavenDeps_Test.tree.txt       |   0
 .../mavendeps/lockdown/current/.gitignore          |   0
 .../util/CurrentVsApprovedApprovalTextWriter.java  |   0
 .../src/test/resources/application-test.yml        |   0
 .../SimpleObjectSpec_listAllAndCreate.feature      |   0
 .../bdd/specs/SimpleObjectSpec_updateName.feature  |   0
 .../src/test/resources/junit-platform.properties   |   0
 webapp/pom.xml                                     | 145 +----------------
 49 files changed, 210 insertions(+), 242 deletions(-)

diff --git a/module-simple-tests/.gitignore b/module-simple-tests/.gitignore
new file mode 100644
index 0000000..85cb54f
--- /dev/null
+++ b/module-simple-tests/.gitignore
@@ -0,0 +1,8 @@
+.gradle
+translations.pot
+*.jar
+gradle/wrapper
+!gradle-wrapper.jar
+/.apt_generated/
+/.factorypath
+/.apt_generated_tests/
diff --git a/webapp/log4j2-test.xml b/module-simple-tests/log4j2-test.xml
similarity index 89%
copy from webapp/log4j2-test.xml
copy to module-simple-tests/log4j2-test.xml
index 60e8974..1d50129 100644
--- a/webapp/log4j2-test.xml
+++ b/module-simple-tests/log4j2-test.xml
@@ -12,11 +12,6 @@
         <Console name="Console" target="SYSTEM_OUT" follow="true">
             <PatternLayout pattern="${sys:CONSOLE_LOG_PATTERN}" />
         </Console>
-        <File name="TranslationsPoFile" fileName="translations.po" append="false" immediateFlush="true">
-            <PatternLayout>
-                <Pattern>%m%n</Pattern>
-            </PatternLayout>
-        </File>
     </Appenders>
     <Loggers>
         <Logger name="org.apache.catalina.startup.DigesterFactory" level="error" />
@@ -39,11 +34,6 @@
         <Root level="info">
             <AppenderRef ref="Console" />
         </Root>
-
-        <logger name="org.apache.isis.core.runtimeservices.i18n.po.PoWriter" level="info">
-            <AppenderRef ref="TranslationsPoFile"/>
-        </logger>
-
     </Loggers>
 </Configuration>
 
diff --git a/module-simple/pom.xml b/module-simple-tests/pom.xml
similarity index 56%
copy from module-simple/pom.xml
copy to module-simple-tests/pom.xml
index 25f6f3d..1824728 100644
--- a/module-simple/pom.xml
+++ b/module-simple-tests/pom.xml
@@ -10,25 +10,14 @@
         <version>1.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>simpleapp-module-simple-jpa</artifactId>
-    <name>SimpleApp - Simple Module</name>
+    <artifactId>simpleapp-jpa-module-simple-tests</artifactId>
+    <name>SimpleApp - Simple Module (tests)</name>
+
+    <description>
+        Integ tests for 'simple module'
+    </description>
 
     <build>
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-            </resource>
-            <resource>
-                <filtering>false</filtering>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </resource>
-        </resources>
         <testResources>
             <testResource>
                 <directory>src/test/resources</directory>
@@ -48,26 +37,13 @@
 
     <dependencies>
 
-        <!-- ISIS API -->
-
-        <dependency>
-            <groupId>org.apache.isis.core</groupId>
-            <artifactId>isis-applib</artifactId>
-        </dependency>
-
         <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-jpa</artifactId>
-            <type>pom</type>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>simpleapp-jpa-module-simple</artifactId>
         </dependency>
 
-        <dependency>
-            <groupId>org.apache.isis.testing</groupId>
-            <artifactId>isis-testing-fixtures-applib</artifactId>
-        </dependency>
-        
         <!-- TESTS -->
-        
+
         <dependency>
             <groupId>org.apache.isis.mavendeps</groupId>
             <artifactId>isis-mavendeps-unittests</artifactId>
@@ -88,13 +64,6 @@
             <scope>test</scope>
         </dependency>
 
-        <!-- IDE support (optional) -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-configuration-processor</artifactId>
-            <optional>true</optional>
-        </dependency>
-
     </dependencies>
 
 </project>
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java b/module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObject_Test.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java b/module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/dom/so/SimpleObjects_Test.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleIntegTestAbstract.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/SimpleModuleTestConfiguration.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObject_IntegTest.java
diff --git a/module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java b/module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
similarity index 100%
rename from module-simple/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
rename to module-simple-tests/src/test/java/domainapp/modules/simple/integtests/tests/SimpleObjects_IntegTest.java
diff --git a/webapp/src/test/resources/application-test.yml b/module-simple-tests/src/test/resources/application-test.yml
similarity index 100%
rename from webapp/src/test/resources/application-test.yml
rename to module-simple-tests/src/test/resources/application-test.yml
diff --git a/module-simple/pom.xml b/module-simple/pom.xml
index 25f6f3d..dab370b 100644
--- a/module-simple/pom.xml
+++ b/module-simple/pom.xml
@@ -10,7 +10,7 @@
         <version>1.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>simpleapp-module-simple-jpa</artifactId>
+    <artifactId>simpleapp-jpa-module-simple</artifactId>
     <name>SimpleApp - Simple Module</name>
 
     <build>
@@ -29,21 +29,6 @@
                 </excludes>
             </resource>
         </resources>
-        <testResources>
-            <testResource>
-                <directory>src/test/resources</directory>
-            </testResource>
-            <testResource>
-                <filtering>false</filtering>
-                <directory>src/test/java</directory>
-                <includes>
-                    <include>**</include>
-                </includes>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </testResource>
-        </testResources>
     </build>
 
     <dependencies>
@@ -65,28 +50,6 @@
             <groupId>org.apache.isis.testing</groupId>
             <artifactId>isis-testing-fixtures-applib</artifactId>
         </dependency>
-        
-        <!-- TESTS -->
-        
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-unittests</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-            <exclusions>
-            	<exclusion>
-            		<groupId>org.jmock</groupId>
-            		<artifactId>jmock-junit4</artifactId>
-            	</exclusion>
-            </exclusions>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integtests</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
 
         <!-- IDE support (optional) -->
         <dependency>
diff --git a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
index 9763d2a..08e564b 100644
--- a/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
+++ b/module-simple/src/main/java/domainapp/modules/simple/SimpleModule.java
@@ -4,6 +4,7 @@ import org.springframework.boot.autoconfigure.domain.EntityScan;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.boot.context.properties.EnableConfigurationProperties;
 import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.Configuration;
 import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
 import org.springframework.validation.annotation.Validated;
 
@@ -14,11 +15,10 @@ import lombok.Data;
 
 import domainapp.modules.simple.dom.so.SimpleObject;
 
-@org.springframework.context.annotation.Configuration
-//@Import({})
+@Configuration
 @ComponentScan
 @EnableJpaRepositories
-@EntityScan(basePackageClasses = {SimpleObject.class})
+@EntityScan(basePackageClasses = {SimpleModule.class})
 @EnableConfigurationProperties({
         SimpleModule.Configuration.class,
 })
diff --git a/pom.xml b/pom.xml
index 2d61f86..9bd17ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,30 +18,36 @@
 
     <packaging>pom</packaging>
 
+    <properties>
+        <maven-cucumber-reporting.version>5.3.0</maven-cucumber-reporting.version>
+        <archunit.version>0.14.1</archunit.version>
+        <skipBDD>${skipTests}</skipBDD>
+    </properties>
+
     <dependencyManagement>
         <dependencies>
 
             <!-- this project's own modules -->
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-module-simple-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-module-simple</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-module-simple-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-module-simple-tests</artifactId>
                 <version>${project.version}</version>
                 <scope>test</scope>
                 <type>test-jar</type>
             </dependency>
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-application-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-webapp</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
-                <groupId>org.apache.isis.starters</groupId>
-                <artifactId>simpleapp-webapp-jpa</artifactId>
+                <groupId>${project.groupId}</groupId>
+                <artifactId>simpleapp-jpa-webapp-tests</artifactId>
                 <version>${project.version}</version>
             </dependency>
 
@@ -58,7 +64,9 @@
 
     <modules>
         <module>module-simple</module>
+        <module>module-simple-tests</module>
         <module>webapp</module>
+        <module>webapp-tests</module>
     </modules>
 
 </project>
diff --git a/webapp/log4j2-test.xml b/webapp-tests/log4j2-test.xml
similarity index 100%
rename from webapp/log4j2-test.xml
rename to webapp-tests/log4j2-test.xml
diff --git a/webapp-tests/pom.xml b/webapp-tests/pom.xml
new file mode 100644
index 0000000..ecb0cd1
--- /dev/null
+++ b/webapp-tests/pom.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.apache.isis.starters</groupId>
+        <artifactId>simpleapp-jpa</artifactId>
+        <version>1.0.0-SNAPSHOT</version>
+    </parent>
+
+    <artifactId>simpleapp-jpa-webapp-tests</artifactId>
+    <name>SimpleApp - Webapp (tests)</name>
+
+    <description>
+        Integ tests and BDD specs for entire app.
+    </description>
+
+    <packaging>jar</packaging>
+
+    <build>
+        <testResources>
+            <testResource>
+                <directory>src/test/resources</directory>
+            </testResource>
+            <testResource>
+                <filtering>false</filtering>
+                <directory>src/test/java</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </testResource>
+        </testResources>
+        <plugins>
+
+            <!-- generate cucumber json result -->
+            <plugin>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-antrun-plugin</artifactId>
+              <executions>
+                <execution>
+                  <id>cucumber-cli</id>
+                  <phase>integration-test</phase>
+                  <goals>
+                    <goal>run</goal>
+                  </goals>
+                  <configuration>
+                    <skip>${skipBDD}</skip>
+                    <target>
+                      <echo message="Running Cucumber CLI" />
+                      <java classname="io.cucumber.core.cli.Main"
+                            fork="true"
+                            failonerror="true"
+                            newenvironment="true"
+                            maxmemory="1024m"
+                            classpathref="maven.test.classpath">
+                        <arg value="--plugin" />
+                        <arg value="json:${project.build.directory}/cucumber-no-clobber.json" />
+                      </java>
+                    </target>
+                  </configuration>
+                </execution>
+              </executions>
+            </plugin>
+
+            <!-- generate html report from cucumber json result -->
+            <plugin>
+                <groupId>net.masterthought</groupId>
+                <artifactId>maven-cucumber-reporting</artifactId>
+                <version>${maven-cucumber-reporting.version}</version>
+                <executions>
+                    <execution>
+                        <id>default</id>
+                        <phase>post-integration-test</phase>
+                        <goals>
+                            <goal>generate</goal>
+                        </goals>
+                        <configuration>
+                            <projectName>SimpleApp</projectName>
+                            <outputDirectory>${project.build.directory}</outputDirectory>
+                            <inputDirectory>${project.build.directory}</inputDirectory>
+                            <jsonFiles>
+                                <param>**/cucumber-no-clobber.json</param>
+                            </jsonFiles>
+                            <skip>${skipBDD}</skip>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+
+    <dependencies>
+
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>simpleapp-jpa-webapp</artifactId>
+        </dependency>
+
+        <!-- TESTING -->
+
+        <dependency>
+            <groupId>org.apache.isis.mavendeps</groupId>
+            <artifactId>isis-mavendeps-integtests</artifactId>
+            <type>pom</type>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.isis.mavendeps</groupId>
+            <artifactId>isis-mavendeps-integspecs</artifactId>
+            <type>pom</type>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>com.tngtech.archunit</groupId>
+            <artifactId>archunit-junit5-api</artifactId>
+            <version>${archunit.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.tngtech.archunit</groupId>
+            <artifactId>archunit-junit5-engine</artifactId>
+            <version>${archunit.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+    </dependencies>
+
+    <profiles>
+
+        <profile>
+            <id>mavendeps-lockdown</id>
+            <activation>
+                <property>
+                    <name>mavendeps.lockdown</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>list</id>
+                                <phase>generate-test-resources</phase>
+                                <goals>
+                                    <goal>list</goal>
+                                </goals>
+                                <configuration>
+                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.list.txt</outputFile>
+                                </configuration>
+                            </execution>
+                            <execution>
+                                <id>tree</id>
+                                <phase>generate-test-resources</phase>
+                                <goals>
+                                    <goal>tree</goal>
+                                </goals>
+                                <configuration>
+                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.tree.txt</outputFile>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
+
+</project>
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/CucumberTestAbstract.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/specs/CucumberTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/BddStepDefsModule.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsContext.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsGivenThenStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/domain/SimpleObjectsWhenStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/fixtures/DomainAppDemoStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/BootstrapStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java b/webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
rename to webapp-tests/src/test/java/domainapp/webapp/bdd/stepdefs/infrastructure/TransactionalStepDef.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/WebAppIntegTestAbstract.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/SwaggerExport_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/ValidateDomainModel_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/LockDownMetaModel_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObject.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.dom.so.SimpleObjects.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.modules.simple.types.Name$Specification.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.health.HealthCheckServiceImpl.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/approved/domainapp.webapp.application.services.homepage.HomePageViewModel.xml
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore b/webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/metamodel/lockdown/current/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java b/webapp-tests/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
rename to webapp-tests/src/test/java/domainapp/webapp/integtests/smoke/Smoke_IntegTest.java
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java b/webapp-tests/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/archunit/ArchitectureTests.java
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/LockDownMavenDeps_Test.java
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.list.txt
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/approved/LockDownMavenDeps_Test.tree.txt
diff --git a/webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore b/webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
rename to webapp-tests/src/test/java/domainapp/webapp/unittests/mavendeps/lockdown/current/.gitignore
diff --git a/webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java b/webapp-tests/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
similarity index 100%
rename from webapp/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
rename to webapp-tests/src/test/java/domainapp/webapp/util/CurrentVsApprovedApprovalTextWriter.java
diff --git a/module-simple/src/test/resources/application-test.yml b/webapp-tests/src/test/resources/application-test.yml
similarity index 100%
rename from module-simple/src/test/resources/application-test.yml
rename to webapp-tests/src/test/resources/application-test.yml
diff --git a/webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature b/webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
similarity index 100%
rename from webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
rename to webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
diff --git a/webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature b/webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature
similarity index 100%
rename from webapp/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature
rename to webapp-tests/src/test/resources/domainapp/webapp/bdd/specs/SimpleObjectSpec_updateName.feature
diff --git a/webapp/src/test/resources/junit-platform.properties b/webapp-tests/src/test/resources/junit-platform.properties
similarity index 100%
rename from webapp/src/test/resources/junit-platform.properties
rename to webapp-tests/src/test/resources/junit-platform.properties
diff --git a/webapp/pom.xml b/webapp/pom.xml
index b63c7cb..fa25aee 100644
--- a/webapp/pom.xml
+++ b/webapp/pom.xml
@@ -8,7 +8,7 @@
         <version>1.0.0-SNAPSHOT</version>
     </parent>
 
-    <artifactId>simpleapp-webapp-jpa</artifactId>
+    <artifactId>simpleapp-jpa-webapp</artifactId>
     <name>SimpleApp - Webapp</name>
 
     <description>
@@ -18,12 +18,6 @@
 
     <packaging>jar</packaging>
 
-    <properties>
-        <maven-cucumber-reporting.version>5.3.0</maven-cucumber-reporting.version>
-        <archunit.version>0.14.1</archunit.version>
-        <skipBDD>${skipTests}</skipBDD>
-    </properties>
-
     <build>
         <resources>
             <resource>
@@ -48,75 +42,8 @@
                 </excludes>
             </resource>
         </resources>
-        <testResources>
-            <testResource>
-                <directory>src/test/resources</directory>
-            </testResource>
-            <testResource>
-                <filtering>false</filtering>
-                <directory>src/test/java</directory>
-                <excludes>
-                    <exclude>**/*.java</exclude>
-                </excludes>
-            </testResource>
-        </testResources>
         <plugins>
 
-			<!-- generate cucumber json result -->
-			<plugin>
-			  <groupId>org.apache.maven.plugins</groupId>
-			  <artifactId>maven-antrun-plugin</artifactId>
-			  <executions>
-			    <execution>
-			      <id>cucumber-cli</id>
-			      <phase>integration-test</phase>
-			      <goals>
-			        <goal>run</goal>
-			      </goals>
-			      <configuration>
-                    <skip>${skipBDD}</skip>
-			        <target>
-			          <echo message="Running Cucumber CLI" />
-			          <java classname="io.cucumber.core.cli.Main"
-			                fork="true"
-			                failonerror="true"
-			                newenvironment="true"
-			                maxmemory="1024m"
-			                classpathref="maven.test.classpath">
-			            <arg value="--plugin" />
-			            <arg value="json:${project.build.directory}/cucumber-no-clobber.json" />
-			          </java>
-			        </target>
-			      </configuration>
-			    </execution>
-			  </executions>
-			</plugin>
-
-        	<!-- generate html report from cucumber json result -->
-            <plugin>
-                <groupId>net.masterthought</groupId>
-                <artifactId>maven-cucumber-reporting</artifactId>
-                <version>${maven-cucumber-reporting.version}</version>
-                <executions>
-                    <execution>
-                        <id>default</id>
-                        <phase>post-integration-test</phase>
-                        <goals>
-                            <goal>generate</goal>
-                        </goals>
-                        <configuration>
-                            <projectName>SimpleApp</projectName>
-                            <outputDirectory>${project.build.directory}</outputDirectory>
-                            <inputDirectory>${project.build.directory}</inputDirectory>
-                            <jsonFiles>
-                                <param>**/cucumber-no-clobber.json</param>
-                            </jsonFiles>
-                            <skip>${skipBDD}</skip>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-
             <!-- running: mvn spring-boot:run -->
             <plugin>
                 <groupId>org.springframework.boot</groupId>
@@ -136,7 +63,7 @@
 
         <dependency>
             <groupId>${project.groupId}</groupId>
-            <artifactId>simpleapp-module-simple-jpa</artifactId>
+            <artifactId>simpleapp-jpa-module-simple</artifactId>
         </dependency>
 
         <!-- isis -->
@@ -173,78 +100,11 @@
             <artifactId>isis-extensions-flyway-impl</artifactId>
         </dependency>
 
-        <!-- TESTING -->
-
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integtests</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.isis.mavendeps</groupId>
-            <artifactId>isis-mavendeps-integspecs</artifactId>
-            <type>pom</type>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>com.tngtech.archunit</groupId>
-            <artifactId>archunit-junit5-api</artifactId>
-            <version>${archunit.version}</version>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>com.tngtech.archunit</groupId>
-            <artifactId>archunit-junit5-engine</artifactId>
-            <version>${archunit.version}</version>
-            <scope>test</scope>
-        </dependency>
-
     </dependencies>
 
     <profiles>
 
         <profile>
-            <id>mavendeps-lockdown</id>
-            <activation>
-                <property>
-                    <name>mavendeps.lockdown</name>
-                </property>
-            </activation>
-            <build>
-                <plugins>
-                    <plugin>
-                        <artifactId>maven-dependency-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>list</id>
-                                <phase>generate-test-resources</phase>
-                                <goals>
-                                    <goal>list</goal>
-                                </goals>
-                                <configuration>
-                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.list.txt</outputFile>
-                                </configuration>
-                            </execution>
-                            <execution>
-                                <id>tree</id>
-                                <phase>generate-test-resources</phase>
-                                <goals>
-                                    <goal>tree</goal>
-                                </goals>
-                                <configuration>
-                                    <outputFile>${project.build.directory}/test-classes/domainapp/webapp/unittests/mavendeps/lockdown/current/LockDownMavenDeps_Test.tree.txt</outputFile>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
-                </plugins>
-            </build>
-        </profile>
-
-        <profile>
             <id>jdbc-sqlserver</id>
             <activation>
                 <property>
@@ -319,7 +179,6 @@
                 </plugins>
             </build>
         </profile>
-
     </profiles>
 
 </project>