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 2019/09/24 23:52:47 UTC

[isis] branch v2 updated: ISIS-2062: fixes images for testing guide

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

danhaywood pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/v2 by this push:
     new 939792d  ISIS-2062: fixes images for testing guide
939792d is described below

commit 939792d64f5d1863fffeddb34bef78420848867f
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Sep 25 00:52:37 2019 +0100

    ISIS-2062: fixes images for testing guide
---
 .../pages/what-is-apache-isis/screencasts.adoc     |   6 ++--
 .../partials/_powered-by_gesconsultor-grc.adoc     |   2 +-
 core/_adoc-rg/modules/ant/pages/Inject.adoc        |   2 +-
 .../pages/classes/AppManifest-bootstrapping.adoc   |   2 +-
 .../pages/classes/AppManifest2-bootstrapping.adoc  |   2 +-
 .../application-layer-api/WrapperFactory.adoc      |   4 +--
 .../persistence-layer-api/IsisJdoSupport.adoc      |   2 +-
 .../modules/svc/pages/testing/SudoService.adoc     |   2 +-
 core/_adoc-ug/modules/btb/pages/i18n.adoc          |   2 +-
 .../apache-isis-vs/mvc-server-side.adoc            |   2 +-
 core/_adoc-ug/modules/fun/pages/crud.adoc          |   2 +-
 .../{mvn/examples => ROOT/assets/images}/.gitkeep  |   0
 .../_adoc/modules/ROOT/pages/about.adoc            |   7 ++--
 .../_adoc/modules/ROOT/pages/overview.adoc         |   2 +-
 .../_adoc/modules/ROOT/partials/nav.adoc           |   4 +--
 core/testsupport/integtestsupport/_adoc/antora.yml |   7 ++++
 .../integtestsupport/_adoc/examples.csv            |   1 +
 .../_adoc/modules/ROOT}/_attributes.adoc           |   0
 .../modules/ROOT}/assets/attachments/.gitkeep      |   0
 .../modules/ROOT/assets/images}/integ-tests.png    | Bin
 .../modules/ROOT/assets/images}/integ-tests.pptx   | Bin
 .../ROOT/assets/images}/wrapper-factory.png        | Bin
 .../_adoc/modules/ROOT}/examples/.gitkeep          |   0
 .../integtestsupport/_adoc/modules/ROOT/nav.adoc   |   2 ++
 .../_adoc/modules/ROOT}/pages/_attributes.adoc     |   0
 .../_adoc/modules/ROOT/pages/about.adoc}           |   0
 .../pages/integ-test-support}/_attributes.adoc     |   0
 .../pages/integ-test-support/abstract-class.adoc   |   6 ++--
 .../pages/integ-test-support/bootstrapping.adoc    |   0
 .../configuration-properties.adoc                  |   0
 .../integ-test-support/maven-configuration.adoc    |   0
 .../pages/integ-test-support/typical-usage.adoc    |   0
 .../pages/integ-test-support/wrapper-factory.adoc  |   2 +-
 .../_adoc/modules/ROOT/partials}/_attributes.adoc  |   0
 .../_adoc/modules/ROOT/partials/nav.adoc           |   4 +--
 .../_adoc/modules/mvn/_attributes.adoc             |   0
 .../_adoc/modules/mvn/assets/attachments}/.gitkeep |   0
 .../mvn/assets/images/maven-plugin/xsd-goal.png    | Bin
 .../mvn/assets/images/maven-plugin/xsd-goal.pptx   | Bin
 .../_adoc/modules/mvn/examples/.gitkeep            |   0
 .../_adoc/modules/mvn/nav.adoc                     |   0
 .../_adoc/modules/mvn/pages/_attributes.adoc       |   0
 .../modules/mvn/pages/_partials}/_attributes.adoc  |   0
 .../_adoc/modules/mvn/pages/about.adoc             |   0
 .../_adoc/modules/mvn/pages/intro.adoc             |   0
 .../_adoc/modules/mvn/pages/swagger.adoc           |   0
 .../_adoc/modules/mvn/pages/validate.adoc          |   0
 .../_adoc/modules/mvn/pages/xsd.adoc               |   0
 .../integtestsupport/_adoc/sync_examples.sh        |  39 +++++++++++++++++++++
 core/testsupport/unittestsupport/_adoc/antora.yml  |   6 ++++
 .../testsupport/unittestsupport/_adoc/examples.csv |   1 +
 .../_adoc/modules/ROOT}/_attributes.adoc           |   0
 .../modules/ROOT/assets/attachments}/.gitkeep      |   0
 .../_adoc/modules/ROOT/assets/images}/.gitkeep     |   0
 .../_adoc/modules/ROOT}/examples/.gitkeep          |   0
 .../unittestsupport/_adoc/modules/ROOT/nav.adoc    |   2 ++
 .../_adoc/modules/ROOT}/pages/_attributes.adoc     |   0
 .../_adoc/modules/ROOT/pages/about.adoc}           |   0
 .../ROOT/pages/unit-test-support}/_attributes.adoc |   0
 .../pages/unit-test-support/contract-tests.adoc    |   0
 .../pages/unit-test-support/jmock-extensions.adoc  |   0
 .../unit-test-support/maven-configuration.adoc     |   0
 .../soap-fake-server-junit-rule.adoc               |   0
 .../_adoc/modules/ROOT/partials}/_attributes.adoc  |   0
 .../_adoc/modules/ROOT/partials/nav.adoc           |   4 +--
 .../unittestsupport/_adoc/sync_examples.sh         |  39 +++++++++++++++++++++
 .../modules/ROOT/assets/images}/composite.png      | Bin
 .../_adoc/modules/ROOT/assets/images}/flat-1.png   | Bin
 .../_adoc/modules/ROOT/assets/images}/flat-2.png   | Bin
 .../assets/images}/organizing-fixture-scripts.pptx | Bin
 .../assets/images}/prompt-specifying-number.png    | Bin
 .../_adoc/modules/ROOT/assets/images}/prompt.png   | Bin
 .../ROOT/assets/images}/prototyping-menu.png       | Bin
 .../modules/ROOT/assets/images}/result-list.png    | Bin
 .../ROOT/pages/fixture-scripts/api-and-usage.adoc  |   8 ++---
 75 files changed, 129 insertions(+), 33 deletions(-)

diff --git a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
index ed07ead..c07bc17 100644
--- a/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
+++ b/antora/components/toc/modules/ROOT/pages/what-is-apache-isis/screencasts.adoc
@@ -90,13 +90,13 @@ Implementing xref:ug:fun:business-rules.adoc[business rules]for domain object me
 |x||||||||||
 
 |link:https://www.youtube.com/watch?v=imHfxQGUgV8[007^] +
-Writing xref:testing:ROOT:unit-test-support.adoc[unit tests] for a domain object responsibility
+Writing xref:unit-test-support:ROOT:about.adoc[unit tests] for a domain object responsibility
 ||x|||||||||
 
 
 
 |link:https://www.youtube.com/watch?v=-lAt4UWiBjE[008^] +
-Writing end-to-end xref:testing:ROOT:integ-test-support.adoc[integration tests] for a domain object responsibility
+Writing end-to-end xref:integ-test-support:ROOT:about.adoc[integration tests] for a domain object responsibility
 ||x|||||||||
 
 
@@ -284,7 +284,7 @@ Using the xref:rg:ant:Title.adoc[`@Title`] annotation (instead of the xref:rg:cm
 
 
 |link:https://www.youtube.com/watch?v=yi52Gbd3lmY[027^] +
-How to write an xref:testing:ROOT:integ-test-support.adoc[integration test] for an xref:rg:ant:Mixin.adoc[mixin].
+How to write an xref:integ-test-support:ROOT:about.adoc[integration test] for an xref:rg:ant:Mixin.adoc[mixin].
 ||x|||||||||
 
 
diff --git a/antora/components/toc/modules/ROOT/partials/_powered-by_gesconsultor-grc.adoc b/antora/components/toc/modules/ROOT/partials/_powered-by_gesconsultor-grc.adoc
index 2961a13..0930991 100644
--- a/antora/components/toc/modules/ROOT/partials/_powered-by_gesconsultor-grc.adoc
+++ b/antora/components/toc/modules/ROOT/partials/_powered-by_gesconsultor-grc.adoc
@@ -80,7 +80,7 @@ At the last count more than 400 domain entities, across 6 different Bounded Cont
 
 At the Domain level, we also extensively use the xref:ug:fun:building-blocks.adoc#domain-events[domain events] functionality available in Apache Isis, along with many of the (non-ASF) link:https://platform.incode.org[Incode Platform^] (such as audit, security and excel modules).
 
-The GRC platform currently has more than 5600 automated tests, about 2000 being xref:ext-specsupport:ROOT:about.adoc[BDD tests] and 3600 xref:testing:ROOT:integ-test-support.adoc[integration tests], all leveraging Apache Isis' extensive testing capabilities.
+The GRC platform currently has more than 5600 automated tests, about 2000 being xref:ext-specsupport:ROOT:about.adoc[BDD tests] and 3600 xref:integ-test-support:ROOT:about.adoc[integration tests], all leveraging Apache Isis' extensive testing capabilities.
 
 
 == Summing up
diff --git a/core/_adoc-rg/modules/ant/pages/Inject.adoc b/core/_adoc-rg/modules/ant/pages/Inject.adoc
index 633baa0..c755f65 100644
--- a/core/_adoc-rg/modules/ant/pages/Inject.adoc
+++ b/core/_adoc-rg/modules/ant/pages/Inject.adoc
@@ -5,7 +5,7 @@ include::_attributes.adoc[]
 
 
 Apache Isis automatically injects domain services into other domain services and also into domain objects and view models.
-In fact, it also injects domain services into xref:testing:ROOT:integ-test-support.adoc[integration tests] and xref:ext-fixtures:ROOT:about.adoc[fixture scripts].
+In fact, it also injects domain services into xref:integ-test-support:ROOT:about.adoc[integration tests] and xref:ext-fixtures:ROOT:about.adoc[fixture scripts].
 
 [NOTE]
 ====
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc b/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
index e354413..17ae7a8 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/AppManifest-bootstrapping.adoc
@@ -221,7 +221,7 @@ java org.apache.isis.WebServer -m com.mycompany.myapp.MyAppAppManifestWithFixtur
 
 * the third case is within an integration test. +
 +
-The code to boostrap an integration test is shown in the xref:testing:ROOT:integ-test-support.adoc#bootstrapping[testing guide], but once again an `AppManifest` is required.
+The code to boostrap an integration test is shown in the xref:integ-test-support:ROOT:about.adoc#bootstrapping[testing guide], but once again an `AppManifest` is required.
 
 In some cases an integration test uses the exact same `AppManifest` as the regular webapp.
 Sometimes though it is necessary to "tweak" the `AppManifest`:
diff --git a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc b/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
index bfc4f5c..398e9fb 100644
--- a/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
+++ b/core/_adoc-rg/modules/cms/pages/classes/AppManifest2-bootstrapping.adoc
@@ -185,6 +185,6 @@ The `AppManifest` implementation must (necessarily) reference all the modules wt
 (As noted above), the `IntegrationTestAbstract3` adapter class is bootstrapped from a `Module` rather than an `AppManifest`.
 This therefore allows the integration tests to reside alongside the module that they exercise, and to bootstrap only the subset of the application required (that is, the module being tested and any of its transitive dependencies)..
 
-For more on `IntegrationTestAbstract3`, see the xref:testing:ROOT:integ-test-support.adoc#bootstrapping[testing user guide].
+For more on `IntegrationTestAbstract3`, see the xref:integ-test-support:ROOT:about.adoc#bootstrapping[testing user guide].
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc b/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
index b8cf76a..8b0e1e2 100644
--- a/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
+++ b/core/_adoc-rg/modules/svc/pages/application-layer-api/WrapperFactory.adoc
@@ -15,12 +15,12 @@ Said another way: interactions are performed "as if" they are through the viewer
 
 [NOTE]
 ====
-For a discussion of the use of the `WrapperFactory` within integration tests (the primary or at least original use case for this service) can be found xref:testing:ROOT:integ-test-support.adoc#wrapper-factory[here]
+For a discussion of the use of the `WrapperFactory` within integration tests (the primary or at least original use case for this service) can be found xref:integ-test-support:ROOT:about.adoc#wrapper-factory[here]
 ====
 
 This capability goes beyond enforcing the (imperative) constraints within the `hideXxx()`, `disableXxx()` and `validateXxx()` supporting methods; it also enforces (declarative) constraints such as those represented by annotations, eg `@Parameter(maxLength=...)` or `@Property(mustSatisfy=...)`.
 
-This capability is frequently used within xref:testing:ROOT:integ-test-support.adoc[integration tests], but can also be used in production code. (There are analogies that can be drawn here with the way that JEE beans can interact through an EJB local interface).
+This capability is frequently used within xref:integ-test-support:ROOT:about.adoc[integration tests], but can also be used in production code. (There are analogies that can be drawn here with the way that JEE beans can interact through an EJB local interface).
 
 
 
diff --git a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
index 208fc39..ce8856f 100644
--- a/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
+++ b/core/_adoc-rg/modules/svc/pages/persistence-layer-api/IsisJdoSupport.adoc
@@ -145,7 +145,7 @@ private static <T> List<T> executeListAndClose(final TypesafeQuery<T> query) {
 
 == Fixture support
 
-When writing xref:testing:ROOT:integ-test-support.adoc[integration tests] you'll usually need to tear down some/all mutable transactional data before each test.  One way to do that is to use the `executeUpdate(...)` method described xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc#executing-sql[above].
+When writing xref:integ-test-support:ROOT:about.adoc[integration tests] you'll usually need to tear down some/all mutable transactional data before each test.  One way to do that is to use the `executeUpdate(...)` method described xref:rg:svc:persistence-layer-api/IsisJdoSupport.adoc#executing-sql[above].
 
 Alternatively, the `deleteAll(...)` method will let your test delete all instances of a class without resorting to SQL:
 
diff --git a/core/_adoc-rg/modules/svc/pages/testing/SudoService.adoc b/core/_adoc-rg/modules/svc/pages/testing/SudoService.adoc
index 1dfc51a..ceb7a48 100644
--- a/core/_adoc-rg/modules/svc/pages/testing/SudoService.adoc
+++ b/core/_adoc-rg/modules/svc/pages/testing/SudoService.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 
 
 The `SudoService` allows the current user reported by the xref:rg:svc:core-domain-api/UserService.adoc[`UserService`]  to be temporarily changed to some other user.
-This is useful both for xref:testing:ROOT:integ-test-support.adoc[integration testing] (eg if testing a workflow system whereby objects are moved from one user to another) and while running xref:ext-fixtures:ROOT:about.adoc[fixture scripts] (eg setting up objects that would normally require several users to have acted upon the objects).
+This is useful both for xref:integ-test-support:ROOT:about.adoc[integration testing] (eg if testing a workflow system whereby objects are moved from one user to another) and while running xref:ext-fixtures:ROOT:about.adoc[fixture scripts] (eg setting up objects that would normally require several users to have acted upon the objects).
 
 
 == API
diff --git a/core/_adoc-ug/modules/btb/pages/i18n.adoc b/core/_adoc-ug/modules/btb/pages/i18n.adoc
index f44a3a5..294877a 100644
--- a/core/_adoc-ug/modules/btb/pages/i18n.adoc
+++ b/core/_adoc-ug/modules/btb/pages/i18n.adoc
@@ -492,7 +492,7 @@ msgstr "Username"
 
 So much for the API; but as noted, it is also necessary to ensure that the required translations are recorded (by the `TranslationService`) into the `.pot` file.
 
-For this, we recommend that you ensure that all such methods are tested through an xref:testing:ROOT:integ-test-support.adoc[integration test] (not unit test).
+For this, we recommend that you ensure that all such methods are tested through an xref:integ-test-support:ROOT:about.adoc[integration test] (not unit test).
 
 For example, here's the corresponding integration test for the "Exclamation mark" example from the simpleapp (above):
 
diff --git a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
index 8ee0e3e..666e91c 100644
--- a/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
+++ b/core/_adoc-ug/modules/fun/pages/core-concepts/apache-isis-vs/mvc-server-side.adoc
@@ -25,5 +25,5 @@ Again, these addons can be plugged into any Isis app.
 In terms of testing support, each of these other frameworks provide mechanisms to allow the webapp to be tested from within a JUnit test harness.
 Apache Isis' support is similar.
 Where Apache Isis differs though is that it enables end-to-end testing without the need for slow and fragile Selenium tests.
-Instead, Apache Isis provides a "xref:testing:ROOT:integ-test-support.adoc#wrapper-factory[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated.
+Instead, Apache Isis provides a "xref:integ-test-support:ROOT:about.adoc#wrapper-factory[WrapperFactory]" domain service that allows the generic UI provided to in essence be simulated.
 On a more pragmatic level, the link:https://platform.incode.org[Incode Platform^]'s fakedata module does "what it says on the tin", allowing both unit- and integration-tests to focus on the salient data and fake out the rest.
diff --git a/core/_adoc-ug/modules/fun/pages/crud.adoc b/core/_adoc-ug/modules/fun/pages/crud.adoc
index 53c38ed..d6a286e 100644
--- a/core/_adoc-ug/modules/fun/pages/crud.adoc
+++ b/core/_adoc-ug/modules/fun/pages/crud.adoc
@@ -7,7 +7,7 @@ include::_attributes.adoc[]
 This chapter shows the idioms for creating, reading, updating and deleting xref:ug:fun:building-blocks.adoc#domain-entities[domain entities].
 The main domain services used for this are xref:rg:svc:persistence-layer-api/RepositoryService.adoc[`RepositoryService`] and xref:rg:svc:core-domain-api/FactoryService.adoc[`FactoryService`].
 
-It also shows how to instantiate xref:ug:fun:building-blocks.adoc#view-models[view models] and how to programmatically instantiate xref:ug:fun:building-blocks.adoc#mixins[mixins] (useful primarily for xref:testing:ROOT:integ-test-support.adoc[integration testing]).
+It also shows how to instantiate xref:ug:fun:building-blocks.adoc#view-models[view models] and how to programmatically instantiate xref:ug:fun:building-blocks.adoc#mixins[mixins] (useful primarily for xref:integ-test-support:ROOT:about.adoc[integration testing]).
 
 
 
diff --git a/core/testsupport/_adoc/modules/mvn/examples/.gitkeep b/core/testsupport/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/examples/.gitkeep
copy to core/testsupport/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/about.adoc b/core/testsupport/_adoc/modules/ROOT/pages/about.adoc
index 57c22e6..4b40818 100644
--- a/core/testsupport/_adoc/modules/ROOT/pages/about.adoc
+++ b/core/testsupport/_adoc/modules/ROOT/pages/about.adoc
@@ -1,10 +1,9 @@
 = Testing
 include::_attributes.adoc[]
 
-If you are going to use Apache Isis for developing complex business-critical applications, then being able to write
-automated tests for those applications becomes massively important.  As such Apache Isis treats the topic of testing
-very seriously.  (Though we say it ourselves), the framework has support that goes way above what is provided by other
-application frameworks.
+If you are going to use Apache Isis for developing complex business-critical applications, then being able to write automated tests for those applications becomes massively important.
+As such Apache Isis treats the topic of testing very seriously.
+(Though we say it ourselves), the framework has support that goes way above what is provided by other application frameworks.
 
 This guide describes those features available to you for testing your Apache Isis application.
 
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc b/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
index 3943791..1140928 100644
--- a/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
+++ b/core/testsupport/_adoc/modules/ROOT/pages/overview.adoc
@@ -52,7 +52,7 @@ For most other frameworks that would require having to test the application in a
 
 The xref:rg:svc:application-layer-api/WrapperFactory.adoc[`WrapperFactory`] domain service allows a test to wrap domain objects and thus to interact with said objects "as if" through the UI:
 
-image::testing/integ-tests.png[width="700px",link="{imagesdir}/testing/integ-tests.png"]
+image::integ-tests.png[width="700px",link="{imagesdir}/integ-tests.png"]
 
 If the test invokes an action that is disabled, then the wrapper will throw an appropriate exception.  If the action is ok to invoke, it delegates through.
 
diff --git a/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc b/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc
index 0b105d3..e65dbf0 100644
--- a/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc
+++ b/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc
@@ -3,7 +3,7 @@
 * xref:testing:ROOT:about.adoc[Testing]
 
 ** xref:testing:ROOT:overview.adoc[Overview]
-** xref:testing:ROOT:unit-test-support.adoc[Unit Test Support]
-** xref:testing:ROOT:integ-test-support.adoc[Integ Test Support]
+** xref:unit-test-support:ROOT:about.adoc[Unit Test Support]
+** xref:integ-test-support:ROOT:about.adoc[Integ Test Support]
 ** xref:ext-specsupport:ROOT:about.adoc[BDD Spec Support (extension)]
 ** xref:ext-fixtures:ROOT:about.adoc[Fixture Scripts (extension)]
diff --git a/core/testsupport/integtestsupport/_adoc/antora.yml b/core/testsupport/integtestsupport/_adoc/antora.yml
new file mode 100644
index 0000000..377c49f
--- /dev/null
+++ b/core/testsupport/integtestsupport/_adoc/antora.yml
@@ -0,0 +1,7 @@
+name: integ-test-support
+title: "Integ Test Support"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
+#- modules/mvn/nav.adoc  # TODO: this will be converted to utilities, perhaps as extensions.
diff --git a/core/testsupport/integtestsupport/_adoc/examples.csv b/core/testsupport/integtestsupport/_adoc/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/core/testsupport/integtestsupport/_adoc/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/core/testsupport/_adoc/modules/mvn/_attributes.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/_attributes.adoc
copy to core/testsupport/integtestsupport/_adoc/modules/ROOT/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/assets/attachments/.gitkeep b/core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/assets/attachments/.gitkeep
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/integ-tests.png b/core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/images/integ-tests.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/integ-tests.png
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/images/integ-tests.png
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/integ-tests.pptx b/core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/images/integ-tests.pptx
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/integ-tests.pptx
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/images/integ-tests.pptx
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/wrapper-factory.png b/core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/images/wrapper-factory.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/wrapper-factory.png
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/assets/images/wrapper-factory.png
diff --git a/core/testsupport/_adoc/modules/mvn/examples/.gitkeep b/core/testsupport/integtestsupport/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/examples/.gitkeep
copy to core/testsupport/integtestsupport/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/core/testsupport/integtestsupport/_adoc/modules/ROOT/nav.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..5df99fd
--- /dev/null
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1,2 @@
+include::testing:ROOT:partial$nav.adoc[]
+
diff --git a/core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc
copy to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/about.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/_partials/_attributes.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/_attributes.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/pages/_partials/_attributes.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
similarity index 87%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
index f477835..0077d0d 100644
--- a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/abstract-class.adoc
@@ -7,14 +7,14 @@ include::_attributes.adoc[]
 
 When writing integration tests, it's easiest to inherit from the `IntegrationTestAbstract3` base class.
 
-This base class xref:testing:ROOT:integ-test-support.adoc#bootstrapping[bootstraps] the framework (caching the framework on a thread-local), and provides various utility methods and framework-provided services for use by your application's subclass tests.
+This base class xref:integ-test-support:ROOT:about.adoc#bootstrapping[bootstraps] the framework (caching the framework on a thread-local), and provides various utility methods and framework-provided services for use by your application's subclass tests.
 
 
 
 == `IntegrationTestAbstract3`
 
 We recommend that your integration tests inherit from Apache Isis' `IntegrationTestAbstract3` class.
-The primary benefit over its predecessor, `IntegrationTestAbstract2` (discussed xref:testing:ROOT:integ-test-support.adoc#IntegrationTestAbstract2[below] is that it allows the test to be bootstrapped by passing in a `Module` rather than an `AppManifest`.
+The primary benefit over its predecessor, `IntegrationTestAbstract2` (discussed xref:integ-test-support:ROOT:about.adoc#IntegrationTestAbstract2[below] is that it allows the test to be bootstrapped by passing in a `Module` rather than an `AppManifest`.
 
 For example:
 
@@ -65,7 +65,7 @@ public ExceptionRecognizerTranslate exceptionRecognizerTranslations =    // <4>
     ExceptionRecognizerTranslate.create();
 ----
 <1> ensures an Apache Isis session/transaction running for each test
-<2> sets up a JMock context (using Apache Isis' extension to JMock as described in xref:testing:ROOT:unit-test-support.adoc#jmock-extensions[JMock Extensions].
+<2> sets up a JMock context (using Apache Isis' extension to JMock as described in xref:unit-test-support:ROOT:about.adoc#jmock-extensions[JMock Extensions].
 <3> standard JUnit rule for writing tests that throw exceptions
 <4> to capture messages that require translation, as described in xref:ug:btb:i18n.adoc[i18 support].
 
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/bootstrapping.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/configuration-properties.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/maven-configuration.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/maven-configuration.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/maven-configuration.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/maven-configuration.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/typical-usage.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
similarity index 98%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
index 28be294..2710f44 100644
--- a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/pages/integ-test-support/wrapper-factory.adoc
@@ -33,7 +33,7 @@ Otherwise an exception is thrown.
 The type of exception depends upon what sort of check failed.
 It's straightforward enough: if the member is invisible then a `HiddenException` is thrown; if it's not usable then you'll get a `DisabledException`, if the args are not valid then catch an `InvalidException`.
 
-image::testing/wrapper-factory.png[width="600px",link="{imagesdir}/testing/wrapper-factory.png"]
+image::wrapper-factory.png[width="600px",link="{imagesdir}/wrapper-factory.png"]
 
 Let's look in a bit more detail at what the test can do with the wrapper.
 
diff --git a/core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/partials/_attributes.adoc
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc
copy to core/testsupport/integtestsupport/_adoc/modules/ROOT/partials/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc b/core/testsupport/integtestsupport/_adoc/modules/ROOT/partials/nav.adoc
similarity index 65%
copy from core/testsupport/_adoc/modules/ROOT/partials/nav.adoc
copy to core/testsupport/integtestsupport/_adoc/modules/ROOT/partials/nav.adoc
index 0b105d3..e65dbf0 100644
--- a/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc
+++ b/core/testsupport/integtestsupport/_adoc/modules/ROOT/partials/nav.adoc
@@ -3,7 +3,7 @@
 * xref:testing:ROOT:about.adoc[Testing]
 
 ** xref:testing:ROOT:overview.adoc[Overview]
-** xref:testing:ROOT:unit-test-support.adoc[Unit Test Support]
-** xref:testing:ROOT:integ-test-support.adoc[Integ Test Support]
+** xref:unit-test-support:ROOT:about.adoc[Unit Test Support]
+** xref:integ-test-support:ROOT:about.adoc[Integ Test Support]
 ** xref:ext-specsupport:ROOT:about.adoc[BDD Spec Support (extension)]
 ** xref:ext-fixtures:ROOT:about.adoc[Fixture Scripts (extension)]
diff --git a/core/testsupport/_adoc/modules/mvn/_attributes.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/_attributes.adoc
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/_attributes.adoc
copy to core/testsupport/integtestsupport/_adoc/modules/mvn/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/examples/.gitkeep b/core/testsupport/integtestsupport/_adoc/modules/mvn/assets/attachments/.gitkeep
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/examples/.gitkeep
copy to core/testsupport/integtestsupport/_adoc/modules/mvn/assets/attachments/.gitkeep
diff --git a/core/testsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.png b/core/testsupport/integtestsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.png
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.png
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.png
diff --git a/core/testsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.pptx b/core/testsupport/integtestsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.pptx
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.pptx
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/assets/images/maven-plugin/xsd-goal.pptx
diff --git a/core/testsupport/_adoc/modules/mvn/examples/.gitkeep b/core/testsupport/integtestsupport/_adoc/modules/mvn/examples/.gitkeep
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/examples/.gitkeep
copy to core/testsupport/integtestsupport/_adoc/modules/mvn/examples/.gitkeep
diff --git a/core/testsupport/_adoc/modules/mvn/nav.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/nav.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/nav.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/nav.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/_attributes.adoc
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc
copy to core/testsupport/integtestsupport/_adoc/modules/mvn/pages/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/_attributes.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/_partials/_attributes.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/_attributes.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/pages/_partials/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/about.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/about.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/pages/about.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/pages/about.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/intro.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/pages/intro.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/pages/intro.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/swagger.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/swagger.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/pages/swagger.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/pages/swagger.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/validate.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/validate.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/pages/validate.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/pages/validate.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/xsd.adoc b/core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/pages/xsd.adoc
rename to core/testsupport/integtestsupport/_adoc/modules/mvn/pages/xsd.adoc
diff --git a/core/testsupport/integtestsupport/_adoc/sync_examples.sh b/core/testsupport/integtestsupport/_adoc/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/core/testsupport/integtestsupport/_adoc/sync_examples.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+SCRIPT=$(readlink -f "$0")
+SCRIPTPATH=$(dirname "$SCRIPT")
+if [ $# -ne 1 ]; then
+    FILELIST=$SCRIPTPATH/examples.csv
+else
+    FILELIST=$1
+fi
+FILELISTFQN=$(readlink -f $FILELIST)
+DIRNAME=$(dirname $FILELISTFQN)
+BASENAME=$(basename $FILELISTFQN)
+
+cd $DIRNAME >/dev/null 2>&1
+cat $BASENAME | tail +2 | grep -v ^# | while read LINE
+do
+    FILE=$(echo $LINE | awk -F, '{print $1}' | awk '{$1=$1;print}')
+    F2=$(echo $LINE | awk -F, '{print $2}' | awk '{$1=$1;print}')
+    F3=$(echo $LINE | awk -F, '{print $3}' | awk '{$1=$1;print}')
+    SOURCEFQN=$DIRNAME/$F2/$FILE
+    TARGETDIR=$DIRNAME/$F3
+    TARGETFQN=$DIRNAME/$F3/$FILE
+
+    echo "SOURCEFQN: $SOURCEFQN"
+
+    if [ -f "$SOURCEFQN" ]
+    then
+
+        if [ -f "$TARGETFQN" ]
+        then
+            rm $TARGETFQN
+        fi
+        mkdir -p $TARGETDIR
+        cp $SOURCEFQN $TARGETFQN
+    else
+        echo "- does not exist ($SOURCEFQN) " >&2
+        exit 1
+    fi
+done
+cd - >/dev/null 2>&1
\ No newline at end of file
diff --git a/core/testsupport/unittestsupport/_adoc/antora.yml b/core/testsupport/unittestsupport/_adoc/antora.yml
new file mode 100644
index 0000000..4840443
--- /dev/null
+++ b/core/testsupport/unittestsupport/_adoc/antora.yml
@@ -0,0 +1,6 @@
+name: unit-test-support
+title: "Unit Test Support"
+version: master
+start_page: ROOT:about.adoc
+nav:
+- modules/ROOT/nav.adoc
diff --git a/core/testsupport/unittestsupport/_adoc/examples.csv b/core/testsupport/unittestsupport/_adoc/examples.csv
new file mode 100644
index 0000000..5d5804b
--- /dev/null
+++ b/core/testsupport/unittestsupport/_adoc/examples.csv
@@ -0,0 +1 @@
+#file,source,target
diff --git a/core/testsupport/_adoc/modules/mvn/_attributes.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/_attributes.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/_attributes.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/examples/.gitkeep b/core/testsupport/unittestsupport/_adoc/modules/ROOT/assets/attachments/.gitkeep
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/examples/.gitkeep
copy to core/testsupport/unittestsupport/_adoc/modules/ROOT/assets/attachments/.gitkeep
diff --git a/core/testsupport/_adoc/modules/mvn/examples/.gitkeep b/core/testsupport/unittestsupport/_adoc/modules/ROOT/assets/images/.gitkeep
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/examples/.gitkeep
copy to core/testsupport/unittestsupport/_adoc/modules/ROOT/assets/images/.gitkeep
diff --git a/core/testsupport/_adoc/modules/mvn/examples/.gitkeep b/core/testsupport/unittestsupport/_adoc/modules/ROOT/examples/.gitkeep
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/examples/.gitkeep
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/examples/.gitkeep
diff --git a/core/testsupport/unittestsupport/_adoc/modules/ROOT/nav.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/nav.adoc
new file mode 100644
index 0000000..5df99fd
--- /dev/null
+++ b/core/testsupport/unittestsupport/_adoc/modules/ROOT/nav.adoc
@@ -0,0 +1,2 @@
+include::testing:ROOT:partial$nav.adoc[]
+
diff --git a/core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/_attributes.adoc
similarity index 100%
copy from core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc
copy to core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/unit-test-support.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/about.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/unit-test-support.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/about.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/_attributes.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/_attributes.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/integ-test-support/_attributes.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/contract-tests.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/jmock-extensions.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/jmock-extensions.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/jmock-extensions.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/jmock-extensions.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/maven-configuration.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/maven-configuration.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/maven-configuration.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/maven-configuration.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/soap-fake-server-junit-rule.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/soap-fake-server-junit-rule.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/pages/unit-test-support/soap-fake-server-junit-rule.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/pages/unit-test-support/soap-fake-server-junit-rule.adoc
diff --git a/core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/partials/_attributes.adoc
similarity index 100%
rename from core/testsupport/_adoc/modules/mvn/pages/_attributes.adoc
rename to core/testsupport/unittestsupport/_adoc/modules/ROOT/partials/_attributes.adoc
diff --git a/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc b/core/testsupport/unittestsupport/_adoc/modules/ROOT/partials/nav.adoc
similarity index 65%
copy from core/testsupport/_adoc/modules/ROOT/partials/nav.adoc
copy to core/testsupport/unittestsupport/_adoc/modules/ROOT/partials/nav.adoc
index 0b105d3..e65dbf0 100644
--- a/core/testsupport/_adoc/modules/ROOT/partials/nav.adoc
+++ b/core/testsupport/unittestsupport/_adoc/modules/ROOT/partials/nav.adoc
@@ -3,7 +3,7 @@
 * xref:testing:ROOT:about.adoc[Testing]
 
 ** xref:testing:ROOT:overview.adoc[Overview]
-** xref:testing:ROOT:unit-test-support.adoc[Unit Test Support]
-** xref:testing:ROOT:integ-test-support.adoc[Integ Test Support]
+** xref:unit-test-support:ROOT:about.adoc[Unit Test Support]
+** xref:integ-test-support:ROOT:about.adoc[Integ Test Support]
 ** xref:ext-specsupport:ROOT:about.adoc[BDD Spec Support (extension)]
 ** xref:ext-fixtures:ROOT:about.adoc[Fixture Scripts (extension)]
diff --git a/core/testsupport/unittestsupport/_adoc/sync_examples.sh b/core/testsupport/unittestsupport/_adoc/sync_examples.sh
new file mode 100644
index 0000000..5260cd7
--- /dev/null
+++ b/core/testsupport/unittestsupport/_adoc/sync_examples.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+SCRIPT=$(readlink -f "$0")
+SCRIPTPATH=$(dirname "$SCRIPT")
+if [ $# -ne 1 ]; then
+    FILELIST=$SCRIPTPATH/examples.csv
+else
+    FILELIST=$1
+fi
+FILELISTFQN=$(readlink -f $FILELIST)
+DIRNAME=$(dirname $FILELISTFQN)
+BASENAME=$(basename $FILELISTFQN)
+
+cd $DIRNAME >/dev/null 2>&1
+cat $BASENAME | tail +2 | grep -v ^# | while read LINE
+do
+    FILE=$(echo $LINE | awk -F, '{print $1}' | awk '{$1=$1;print}')
+    F2=$(echo $LINE | awk -F, '{print $2}' | awk '{$1=$1;print}')
+    F3=$(echo $LINE | awk -F, '{print $3}' | awk '{$1=$1;print}')
+    SOURCEFQN=$DIRNAME/$F2/$FILE
+    TARGETDIR=$DIRNAME/$F3
+    TARGETFQN=$DIRNAME/$F3/$FILE
+
+    echo "SOURCEFQN: $SOURCEFQN"
+
+    if [ -f "$SOURCEFQN" ]
+    then
+
+        if [ -f "$TARGETFQN" ]
+        then
+            rm $TARGETFQN
+        fi
+        mkdir -p $TARGETDIR
+        cp $SOURCEFQN $TARGETFQN
+    else
+        echo "- does not exist ($SOURCEFQN) " >&2
+        exit 1
+    fi
+done
+cd - >/dev/null 2>&1
\ No newline at end of file
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/composite.png b/extensions/fixtures/_adoc/modules/ROOT/assets/images/composite.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/composite.png
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/composite.png
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/flat-1.png b/extensions/fixtures/_adoc/modules/ROOT/assets/images/flat-1.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/flat-1.png
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/flat-1.png
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/flat-2.png b/extensions/fixtures/_adoc/modules/ROOT/assets/images/flat-2.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/flat-2.png
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/flat-2.png
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/organizing-fixture-scripts.pptx b/extensions/fixtures/_adoc/modules/ROOT/assets/images/organizing-fixture-scripts.pptx
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/organizing-fixture-scripts.pptx
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/organizing-fixture-scripts.pptx
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/prompt-specifying-number.png b/extensions/fixtures/_adoc/modules/ROOT/assets/images/prompt-specifying-number.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/prompt-specifying-number.png
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/prompt-specifying-number.png
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/prompt.png b/extensions/fixtures/_adoc/modules/ROOT/assets/images/prompt.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/prompt.png
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/prompt.png
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/prototyping-menu.png b/extensions/fixtures/_adoc/modules/ROOT/assets/images/prototyping-menu.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/prototyping-menu.png
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/prototyping-menu.png
diff --git a/core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/result-list.png b/extensions/fixtures/_adoc/modules/ROOT/assets/images/result-list.png
similarity index 100%
rename from core/testsupport/_adoc/modules/ROOT/assets/images/testing/fixture-scripts/result-list.png
rename to extensions/fixtures/_adoc/modules/ROOT/assets/images/result-list.png
diff --git a/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc b/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
index f3c6481..55da0f0 100644
--- a/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
+++ b/extensions/fixtures/_adoc/modules/ROOT/pages/fixture-scripts/api-and-usage.adoc
@@ -47,16 +47,16 @@ public class DomainAppFixtureScriptsSpecificationProvider
 
 Here's how the domain service looks like in the UI:
 
-image::testing/fixture-scripts/prototyping-menu.png[width="700px",link="{imagesdir}/testing/fixture-scripts/prototyping-menu.png"]
+image::prototyping-menu.png[width="700px",link="{imagesdir}/prototyping-menu.png"]
 
 and here's what the `runFixtureScript` action prompt looks like:
 
-image::testing/fixture-scripts/prompt.png[width="700px",link="{imagesdir}/testing/fixture-scripts/prompt.png"]
+image::prompt.png[width="700px",link="{imagesdir}/prompt.png"]
 
 
 when this is executed, the resultant objects (actually, instances of FixtureResult`) are shown in the UI:
 
-image::testing/fixture-scripts/result-list.png[width="700px",link="{imagesdir}/testing/fixture-scripts/result-list.png"]
+image::result-list.png[width="700px",link="{imagesdir}/result-list.png"]
 
 
 
@@ -158,7 +158,7 @@ Note that although the fixture script is a view model, it's fine to simply insta
 Because this script has exposed a "number" property, it's possible to set this from within the UI.
 For example:
 
-image::testing/fixture-scripts/prompt-specifying-number.png[width="700px",link="{imagesdir}/testing/fixture-scripts/prompt-specifying-number.png"]
+image::prompt-specifying-number.png[width="700px",link="{imagesdir}/prompt-specifying-number.png"]
 
 When this is executed, the framework will parse the text and attempt to reflectively set the corresponding properties on the fixture result.
 So, in this case, when the fixture script is executed we actually get 6 objects created.