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/12/04 15:09:58 UTC

[isis] 02/03: ISIS-2207: fixes unit tests, also the (commented out) excel and fakedata fixtures and integtests.

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

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

commit 266693b252386cc609c281f7354ea65c16f5c0c7
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Wed Dec 4 15:04:19 2019 +0000

    ISIS-2207: fixes unit tests, also the (commented out) excel and fakedata fixtures and integtests.
---
 core/applib/pom.xml                                |  9 ++++
 .../services/urlencoding}/MementosTest.java        |  3 +-
 .../xmlsnapshot/XmlSnapshotServiceAbstractTest.xml |  0
 .../util/schema}/CommandDtoUtils_Test.java         |  2 +-
 .../util/schema}/CommonDtoUtils_Test.java          |  3 +-
 .../schema}/CommonDtoUtils_setValueOn_Test.java    |  2 +-
 ...eractionDtoUtilsTest_deriveLogicalMemberId.java |  2 +-
 .../utils => applib/util/schema}/Roundtrip.java    |  2 +-
 .../utils => applib/util/schema}/Vertical.java     |  2 +-
 .../IsisPlatformTransactionManagerForJdo.java      | 13 ++++--
 .../testdomain/ldap/LdapEmbeddedServerTest.java    |  5 +--
 .../excel/fixtures/ExcelFixturesModule.java        |  4 +-
 .../ExcelUploadServiceForDemoToDoItem.java         |  9 +++-
 .../demoapp/todomodule/dom/ExcelDemoToDoItem.java  |  2 +-
 .../ExcelDemoToDoItem_recreate5_forSven.java       |  1 -
 .../integtests/ExcelModuleIntegTestAbstract.java   |  6 ++-
 .../FakeDataModuleIntegTestAbstract.java           |  7 +--
 .../fakedata/integtests/tests/Smoke_IntegTest.java | 50 +++++++++++-----------
 .../fixtures/fixturescripts/FixtureScripts.java    | 19 +++++---
 19 files changed, 85 insertions(+), 56 deletions(-)

diff --git a/core/applib/pom.xml b/core/applib/pom.xml
index 6209156..3701624 100644
--- a/core/applib/pom.xml
+++ b/core/applib/pom.xml
@@ -56,6 +56,15 @@
                 </excludes>
             </resource>
         </resources>
+        <testResources>
+            <testResource>
+                <filtering>false</filtering>
+                <directory>src/test/java</directory>
+                <excludes>
+                    <exclude>**/*.java</exclude>
+                </excludes>
+            </testResource>
+        </testResources>
     </build>
 
     <dependencies>
diff --git a/core/applib/src/test/java/org/apache/isis/commons/internal/memento/MementosTest.java b/core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/MementosTest.java
similarity index 98%
rename from core/applib/src/test/java/org/apache/isis/commons/internal/memento/MementosTest.java
rename to core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/MementosTest.java
index 5a121ef..00ec629 100644
--- a/core/applib/src/test/java/org/apache/isis/commons/internal/memento/MementosTest.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/services/urlencoding/MementosTest.java
@@ -17,13 +17,14 @@
  *  under the License.
  */
 
-package org.apache.isis.commons.internal.memento;
+package org.apache.isis.applib.services.urlencoding;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigInteger;
 import java.util.Date;
 
+import org.apache.isis.commons.internal.memento._Mementos;
 import org.joda.time.LocalDate;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/core/applib/src/test/resources/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.xml b/core/applib/src/test/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.xml
similarity index 100%
rename from core/applib/src/test/resources/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.xml
rename to core/applib/src/test/java/org/apache/isis/applib/services/xmlsnapshot/XmlSnapshotServiceAbstractTest.xml
diff --git a/core/applib/src/test/java/org/apache/isis/schema/utils/CommandDtoUtils_Test.java b/core/applib/src/test/java/org/apache/isis/applib/util/schema/CommandDtoUtils_Test.java
similarity index 98%
rename from core/applib/src/test/java/org/apache/isis/schema/utils/CommandDtoUtils_Test.java
rename to core/applib/src/test/java/org/apache/isis/applib/util/schema/CommandDtoUtils_Test.java
index 740ddfa..04eadb4 100644
--- a/core/applib/src/test/java/org/apache/isis/schema/utils/CommandDtoUtils_Test.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/schema/CommandDtoUtils_Test.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.schema.utils;
+package org.apache.isis.applib.util.schema;
 
 import org.apache.isis.applib.util.schema.CommandDtoUtils;
 import org.apache.isis.applib.util.schema.CommonDtoUtils;
diff --git a/core/applib/src/test/java/org/apache/isis/schema/utils/CommonDtoUtils_Test.java b/core/applib/src/test/java/org/apache/isis/applib/util/schema/CommonDtoUtils_Test.java
similarity index 97%
rename from core/applib/src/test/java/org/apache/isis/schema/utils/CommonDtoUtils_Test.java
rename to core/applib/src/test/java/org/apache/isis/applib/util/schema/CommonDtoUtils_Test.java
index 39f440f..ea6d1ec 100644
--- a/core/applib/src/test/java/org/apache/isis/schema/utils/CommonDtoUtils_Test.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/schema/CommonDtoUtils_Test.java
@@ -16,9 +16,8 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.schema.utils;
+package org.apache.isis.applib.util.schema;
 
-import org.apache.isis.applib.util.schema.CommonDtoUtils;
 import org.jmock.auto.Mock;
 import org.junit.Assert;
 import org.junit.Rule;
diff --git a/core/applib/src/test/java/org/apache/isis/schema/utils/CommonDtoUtils_setValueOn_Test.java b/core/applib/src/test/java/org/apache/isis/applib/util/schema/CommonDtoUtils_setValueOn_Test.java
similarity index 98%
rename from core/applib/src/test/java/org/apache/isis/schema/utils/CommonDtoUtils_setValueOn_Test.java
rename to core/applib/src/test/java/org/apache/isis/applib/util/schema/CommonDtoUtils_setValueOn_Test.java
index b7df201..793a093 100644
--- a/core/applib/src/test/java/org/apache/isis/schema/utils/CommonDtoUtils_setValueOn_Test.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/schema/CommonDtoUtils_setValueOn_Test.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.schema.utils;
+package org.apache.isis.applib.util.schema;
 
 import org.apache.isis.applib.util.schema.CommonDtoUtils;
 import org.jmock.auto.Mock;
diff --git a/core/applib/src/test/java/org/apache/isis/schema/utils/InteractionDtoUtilsTest_deriveLogicalMemberId.java b/core/applib/src/test/java/org/apache/isis/applib/util/schema/InteractionDtoUtilsTest_deriveLogicalMemberId.java
similarity index 96%
rename from core/applib/src/test/java/org/apache/isis/schema/utils/InteractionDtoUtilsTest_deriveLogicalMemberId.java
rename to core/applib/src/test/java/org/apache/isis/applib/util/schema/InteractionDtoUtilsTest_deriveLogicalMemberId.java
index 94f595c..884db79 100644
--- a/core/applib/src/test/java/org/apache/isis/schema/utils/InteractionDtoUtilsTest_deriveLogicalMemberId.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/schema/InteractionDtoUtilsTest_deriveLogicalMemberId.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.schema.utils;
+package org.apache.isis.applib.util.schema;
 
 import org.apache.isis.applib.util.schema.InteractionDtoUtils;
 import org.junit.Test;
diff --git a/core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java b/core/applib/src/test/java/org/apache/isis/applib/util/schema/Roundtrip.java
similarity index 99%
rename from core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java
rename to core/applib/src/test/java/org/apache/isis/applib/util/schema/Roundtrip.java
index dda566c..bb5ae47 100644
--- a/core/applib/src/test/java/org/apache/isis/schema/utils/Roundtrip.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/schema/Roundtrip.java
@@ -14,7 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-package org.apache.isis.schema.utils;
+package org.apache.isis.applib.util.schema;
 
 import java.io.CharArrayReader;
 import java.io.CharArrayWriter;
diff --git a/core/applib/src/test/java/org/apache/isis/schema/utils/Vertical.java b/core/applib/src/test/java/org/apache/isis/applib/util/schema/Vertical.java
similarity index 95%
rename from core/applib/src/test/java/org/apache/isis/schema/utils/Vertical.java
rename to core/applib/src/test/java/org/apache/isis/applib/util/schema/Vertical.java
index ed8fa23..beec16c 100644
--- a/core/applib/src/test/java/org/apache/isis/schema/utils/Vertical.java
+++ b/core/applib/src/test/java/org/apache/isis/applib/util/schema/Vertical.java
@@ -16,7 +16,7 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-package org.apache.isis.schema.utils;
+package org.apache.isis.applib.util.schema;
 
 enum Vertical {
     UP, DOWN
diff --git a/core/persistence/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPlatformTransactionManagerForJdo.java b/core/persistence/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPlatformTransactionManagerForJdo.java
index bf4c692..23ac79f 100644
--- a/core/persistence/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPlatformTransactionManagerForJdo.java
+++ b/core/persistence/jdo/common/src/main/java/org/apache/isis/jdo/persistence/IsisPlatformTransactionManagerForJdo.java
@@ -20,6 +20,7 @@ package org.apache.isis.jdo.persistence;
 
 import javax.inject.Inject;
 
+import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.TransactionDefinition;
 import org.springframework.transaction.TransactionException;
@@ -38,13 +39,19 @@ import org.apache.isis.security.authentication.AuthenticationSession;
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
 
-@Service @Log4j2
+@Service @Log4j2 @Qualifier("jdo")
 public class IsisPlatformTransactionManagerForJdo extends AbstractPlatformTransactionManager {
 
     private static final long serialVersionUID = 1L;
 
-    @Inject private IsisSessionFactory isisSessionFactory;
-    @Inject private ServiceRegistry serviceRegistry;
+    private final IsisSessionFactory isisSessionFactory;
+    private final ServiceRegistry serviceRegistry;
+
+    @Inject
+    public IsisPlatformTransactionManagerForJdo(IsisSessionFactory isisSessionFactory, ServiceRegistry serviceRegistry) {
+        this.isisSessionFactory = isisSessionFactory;
+        this.serviceRegistry = serviceRegistry;
+    }
 
     @Override
     protected Object doGetTransaction() throws TransactionException {
diff --git a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java
index 7c5ea12..d4f2960 100644
--- a/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java
+++ b/examples/smoketests/src/test/java/org/apache/isis/testdomain/ldap/LdapEmbeddedServerTest.java
@@ -39,9 +39,8 @@ import lombok.val;
 @Smoketest
 @SpringBootTest(
         classes = {LdapServerService.class},
-        properties = {
-                "logging.config=log4j2-test.xml",
-        })
+        properties = {"logging.config=log4j2-test.xml" }
+)
 class LdapEmbeddedServerTest {
 
     @Inject LdapServerService ldapServerService;
diff --git a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/ExcelFixturesModule.java b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/ExcelFixturesModule.java
index e33faba..bb340dc 100644
--- a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/ExcelFixturesModule.java
+++ b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/ExcelFixturesModule.java
@@ -1,5 +1,6 @@
 package org.apache.isis.extensions.excel.fixtures;
 
+import org.apache.isis.extensions.fixtures.IsisExtFixturesModule;
 import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
 import org.apache.isis.extensions.fixtures.modules.Module;
 import org.apache.isis.extensions.excel.ExcelModule;
@@ -10,7 +11,8 @@ import org.springframework.context.annotation.Import;
 
 @Configuration
 @Import({
-        ExcelModule.class
+        ExcelModule.class,
+        IsisExtFixturesModule.class
 })
 @ComponentScan
 public class ExcelFixturesModule implements Module {
diff --git a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadServiceForDemoToDoItem.java b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadServiceForDemoToDoItem.java
index b9e5205..1ef80fd 100644
--- a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadServiceForDemoToDoItem.java
+++ b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/demomodule/fixturehandlers/excelupload/ExcelUploadServiceForDemoToDoItem.java
@@ -22,6 +22,13 @@ import org.apache.isis.extensions.excel.fixtures.demoapp.demomodule.fixturehandl
 )
 public class ExcelUploadServiceForDemoToDoItem {
 
+    private final FixtureScripts fixtureScripts;
+
+    @Inject
+    public ExcelUploadServiceForDemoToDoItem(FixtureScripts fixtureScripts) {
+        this.fixtureScripts = fixtureScripts;
+    }
+
     public List<FixtureResult> uploadSpreadsheet(
             @ParameterLayout(named = "spreadsheet")
             final Blob file,
@@ -35,6 +42,4 @@ public class ExcelUploadServiceForDemoToDoItem {
         return fixtureScripts.runFixtureScript(script, parameters);
     }
 
-    @Inject
-    private FixtureScripts fixtureScripts;
 }
diff --git a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/dom/ExcelDemoToDoItem.java b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/dom/ExcelDemoToDoItem.java
index caf1c00..1982133 100644
--- a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/dom/ExcelDemoToDoItem.java
+++ b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/dom/ExcelDemoToDoItem.java
@@ -26,12 +26,12 @@ import org.apache.isis.applib.annotation.MinLength;
 import org.apache.isis.applib.annotation.Property;
 import org.apache.isis.applib.annotation.SemanticsOf;
 import org.apache.isis.applib.clock.Clock;
+import org.apache.isis.applib.jaxbadapters.PersistentEntityAdapter;
 import org.apache.isis.applib.services.message.MessageService;
 import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.title.TitleService;
 import org.apache.isis.applib.util.TitleBuffer;
 import org.apache.isis.applib.value.Blob;
-import org.apache.isis.schema.utils.jaxbadapters.PersistentEntityAdapter;
 
 import lombok.Getter;
 import lombok.Setter;
diff --git a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/fixturescripts/ExcelDemoToDoItem_recreate5_forSven.java b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/fixturescripts/ExcelDemoToDoItem_recreate5_forSven.java
index ee89b9d..70aa1f0 100644
--- a/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/fixturescripts/ExcelDemoToDoItem_recreate5_forSven.java
+++ b/extensions/lib/excel/fixture/src/main/java/org/apache/isis/extensions/excel/fixtures/demoapp/todomodule/fixturescripts/ExcelDemoToDoItem_recreate5_forSven.java
@@ -4,7 +4,6 @@ public class ExcelDemoToDoItem_recreate5_forSven extends ExcelDemoToDoItem_recre
 
     public ExcelDemoToDoItem_recreate5_forSven() {
         super("sven");
-        withDiscoverability(Discoverability.DISCOVERABLE);
     }
 
 }
diff --git a/extensions/lib/excel/integtests/src/test/java/org/apache/isis/extensions/excel/integtests/ExcelModuleIntegTestAbstract.java b/extensions/lib/excel/integtests/src/test/java/org/apache/isis/extensions/excel/integtests/ExcelModuleIntegTestAbstract.java
index 03828b0..8bb0600 100644
--- a/extensions/lib/excel/integtests/src/test/java/org/apache/isis/extensions/excel/integtests/ExcelModuleIntegTestAbstract.java
+++ b/extensions/lib/excel/integtests/src/test/java/org/apache/isis/extensions/excel/integtests/ExcelModuleIntegTestAbstract.java
@@ -15,14 +15,16 @@ import org.springframework.context.annotation.PropertySources;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.transaction.annotation.Transactional;
 
-@SpringBootTest(classes = ExcelModuleIntegTestAbstract.AppManifest.class)
+@SpringBootTest(
+        classes = ExcelModuleIntegTestAbstract.AppManifest.class,
+        properties = {"logging.config=log4j2-test.xml" }
+)
 @ContextConfiguration
 @Transactional
 public abstract class ExcelModuleIntegTestAbstract extends IsisIntegrationTestAbstractWithFixtures {
 
     @Configuration
     @PropertySources({
-            @PropertySource(IsisPresets.Log4j2Test),
             @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
             @PropertySource(IsisPresets.NoTranslations),
             @PropertySource(IsisPresets.DataNucleusAutoCreate),
diff --git a/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/FakeDataModuleIntegTestAbstract.java b/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/FakeDataModuleIntegTestAbstract.java
index c187531..3221164 100644
--- a/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/FakeDataModuleIntegTestAbstract.java
+++ b/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/FakeDataModuleIntegTestAbstract.java
@@ -16,14 +16,16 @@ import org.springframework.context.annotation.PropertySources;
 import org.springframework.test.context.ContextConfiguration;
 import org.springframework.transaction.annotation.Transactional;
 
-@SpringBootTest(classes = FakeDataModuleIntegTestAbstract.AppManifest.class)
+@SpringBootTest(
+        classes = FakeDataModuleIntegTestAbstract.AppManifest.class,
+        properties = {"logging.config=log4j2-test.xml"}
+)
 @ContextConfiguration
 @Transactional
 public abstract class FakeDataModuleIntegTestAbstract extends IsisIntegrationTestAbstractWithFixtures {
 
         @Configuration
         @PropertySources({
-                @PropertySource(IsisPresets.Log4j2Test),
                 @PropertySource(IsisPresets.H2InMemory_withUniqueSchema),
                 @PropertySource(IsisPresets.NoTranslations),
                 @PropertySource(IsisPresets.DataNucleusAutoCreate),
@@ -33,7 +35,6 @@ public abstract class FakeDataModuleIntegTestAbstract extends IsisIntegrationTes
                 IsisBootSecurityBypass.class,
                 IsisBootDataNucleus.class,
                 IsisExtFixturesModule.class,
-
                 FakeDataFixturesModule.class
         })
         public static class AppManifest {
diff --git a/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/tests/Smoke_IntegTest.java b/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/tests/Smoke_IntegTest.java
index 15edbd2..338dff1 100644
--- a/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/tests/Smoke_IntegTest.java
+++ b/extensions/lib/fakedata/integtests/src/test/java/org/apache/isis/extensions/fakedata/integtests/tests/Smoke_IntegTest.java
@@ -134,7 +134,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             // when
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
 
             transactionService.flushTransaction();
 
@@ -189,7 +189,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeBoolean(true);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
             transactionService.flushTransaction();
 
 
@@ -207,7 +207,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeBoolean(false);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
             transactionService.flushTransaction();
 
 
@@ -237,7 +237,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeChar(theChar);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
 
             transactionService.flushTransaction();
 
@@ -267,7 +267,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeByte(theByte);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
 
             transactionService.flushTransaction();
 
@@ -298,7 +298,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeShort(theShort);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
 
             transactionService.flushTransaction();
 
@@ -330,7 +330,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeInt(theInt);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
 
             transactionService.flushTransaction();
 
@@ -361,7 +361,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeLong(theLong);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
 
             transactionService.flushTransaction();
 
@@ -391,7 +391,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeFloat(theFloat);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript, null);
 
             transactionService.flushTransaction();
 
@@ -423,7 +423,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeDouble(theDouble);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -454,7 +454,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeString(theString);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -484,7 +484,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomePassword(thePassword);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -515,7 +515,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeBigDecimal(theBigDecimal);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -545,7 +545,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             //
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeBigInteger(theBigInteger);
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -575,7 +575,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeBlob(theBlob);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -606,7 +606,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeClob(theClob);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -636,7 +636,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeJavaUtilDate(theDate);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -667,7 +667,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeJavaSqlDate(theDate);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -698,7 +698,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeJavaSqlTimestamp(theTimestamp);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -729,7 +729,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeJodaDateTime(theDate);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -759,7 +759,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeJodaLocalDate(theDate);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -790,7 +790,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeUrl(theUrl);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -821,7 +821,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeUuid(theUuid);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -855,7 +855,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeMoney(theMoney);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
@@ -888,7 +888,7 @@ public class Smoke_IntegTest extends FakeDataModuleIntegTestAbstract {
             updateScript.setFakeDataDemoObject(fakeDataDemoObject);
             updateScript.setSomeEnumOf3(theEnumConstant);
 
-            fixtureScripts.runFixtureScript(updateScript, null);
+            fixtureScripts.runFixtureScript( updateScript,  null);
 
             transactionService.flushTransaction();
 
diff --git a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/fixturescripts/FixtureScripts.java b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/fixturescripts/FixtureScripts.java
index 06223f8..5803a09 100644
--- a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/fixturescripts/FixtureScripts.java
+++ b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/fixturescripts/FixtureScripts.java
@@ -236,9 +236,7 @@ public class FixtureScripts extends AbstractService {
     )
     @MemberOrder(sequence="10")
     public List<FixtureResult> runFixtureScript(
-            @ParameterLayout(
-                    named = "Fixture script"
-            )
+            @ParameterLayout(named = "Fixture script")
             final String fixtureScriptName,
             @ParameterLayout(
                     named = "Parameters",
@@ -247,15 +245,22 @@ public class FixtureScripts extends AbstractService {
                     multiLine = 10)
             @Parameter(optionality = Optionality.OPTIONAL)
             final String parameters) {
+        final FixtureScript fixtureScript = fixtureScriptByFriendlyName.get(fixtureScriptName);
+        return runFixtureScript(fixtureScript, parameters);
+    }
+
+    @Programmatic
+    public List<FixtureResult> runFixtureScript(
+            final FixtureScript fixtureScript,
+            final String parameters) {
         try {
             eventBusService.post(new FixturesInstallingEvent(this));
 
-            // if this method is called programmatically, the caller may have simply new'd up the fixture script
-            // (rather than use container.newTransientInstance(...).  To allow this use case, we need to ensure that
+            // the caller may have simply new'd up the fixture script.  To allow this use case, we need to ensure that
             // domain services are injected into the fixture script.
-            serviceInjector.injectServicesInto(fixtureScriptName);
+            serviceInjector.injectServicesInto(fixtureScript);
 
-            return fixtureScriptByFriendlyName.get(fixtureScriptName).run(parameters);
+            return fixtureScript.run(parameters);
         } finally {
             eventBusService.post(new FixturesInstalledEvent(this));
         }