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 2016/05/19 15:03:02 UTC

[1/3] isis git commit: ISIS-1406: unit tests now passing for isis-core-metamodel.

Repository: isis
Updated Branches:
  refs/heads/ISIS-1406 745658883 -> d262830f0


http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
index 5217299..43ee27a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefaultTest.java
@@ -36,6 +36,7 @@ import org.apache.isis.applib.DomainObjectContainer;
 import org.apache.isis.applib.annotation.ActionSemantics;
 import org.apache.isis.applib.annotation.When;
 import org.apache.isis.applib.annotation.Where;
+import org.apache.isis.applib.services.factory.FactoryService;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.facets.all.hide.HiddenFacet;
 import org.apache.isis.core.metamodel.facets.members.hidden.HiddenFacetAbstract;
@@ -78,6 +79,9 @@ public class ApplicationFeatureRepositoryDefaultTest {
     DomainObjectContainer mockContainer;
 
     @Mock
+    FactoryService mockFactoryService;
+
+    @Mock
     ServicesInjector mockServicesInjector;
 
     ApplicationFeatureRepositoryDefault applicationFeatureRepository;
@@ -87,7 +91,11 @@ public class ApplicationFeatureRepositoryDefaultTest {
         applicationFeatureRepository = new ApplicationFeatureRepositoryDefault();
         applicationFeatureRepository.container = mockContainer;
         applicationFeatureRepository.setServicesInjector(mockServicesInjector);
-        applicationFeatureRepository.applicationFeatureFactory = new ApplicationFeatureFactory();
+
+        final ApplicationFeatureFactory applicationFeatureFactory = new ApplicationFeatureFactory();
+        applicationFeatureRepository.applicationFeatureFactory = applicationFeatureFactory;
+        applicationFeatureFactory.factoryService = mockFactoryService;
+
 
 
         mockActThatIsHidden = context.mock(ObjectAction.class, "mockActThatIsHidden");
@@ -263,8 +271,9 @@ public class ApplicationFeatureRepositoryDefaultTest {
 
             // then
             final ApplicationFeature newlyCreatedParent = new ApplicationFeature();
+
             context.checking(new Expectations() {{
-                oneOf(mockContainer).newTransientInstance(ApplicationFeature.class);
+                oneOf(mockFactoryService).instantiate(ApplicationFeature.class);
                 will(returnValue(newlyCreatedParent));
             }});
 

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
index ccc1d7c..40c7332 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
@@ -31,9 +31,12 @@ import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
 
+import org.apache.isis.applib.services.grid.GridService;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
 import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
@@ -49,7 +52,6 @@ import org.apache.isis.core.metamodel.runtimecontext.noruntime.RuntimeContextNoR
 import org.apache.isis.core.metamodel.services.ServicesInjectorDefault;
 import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.unittestsupport.jmocking.InjectIntoJMockAction;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
@@ -67,7 +69,13 @@ public abstract class ObjectReflectorDefaultTestAbstract {
     @Mock
     private IsisConfiguration mockConfiguration;
     @Mock
+    private DeploymentCategoryProvider mockDeploymentCategoryProvider;
+    @Mock
+    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
+    @Mock
     private ServicesInjectorSpi mockServicesInjector;
+    @Mock
+    private GridService mockGridService;
 
     // is loaded by subclasses
     protected ObjectSpecification specification;
@@ -76,11 +84,30 @@ public abstract class ObjectReflectorDefaultTestAbstract {
     @Before
     public void setUp() throws Exception {
 
-        context.checking(new Expectations() {
-            {
-                ignoring(mockConfiguration);
-            }
-        });
+        context.checking(new Expectations() {{
+            ignoring(mockConfiguration);
+
+            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            will(returnValue(new IsisConfigurationDefault(null)));
+
+            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
+            will(returnValue(mockDeploymentCategoryProvider));
+
+            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
+            will(returnValue(DeploymentCategory.PRODUCTION));
+
+            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
+            will(returnValue(mockAuthenticationSessionProvider));
+
+            allowing(mockServicesInjector).lookupService(GridService.class);
+            will(returnValue(mockGridService));
+
+            ignoring(mockGridService).existsFor(with(any(Class.class)));
+
+            ignoring(mockServicesInjector).getRegisteredServices();
+
+            ignoring(mockServicesInjector).isRegisteredService(with(any(Class.class)));
+        }});
 
         final ObjectReflectorDefault reflector =
                 new ObjectReflectorDefault(DeploymentCategory.PRODUCTION,
@@ -89,10 +116,6 @@ public abstract class ObjectReflectorDefaultTestAbstract {
                         new MetaModelValidatorDefault(),
                         Lists.<LayoutMetadataReader>newArrayList(
                                 new LayoutMetadataReaderFromJson()), mockServicesInjector);
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
-            will(returnValue(new IsisConfigurationDefault(null)));
-        }});
         runtimeContext =
                 new RuntimeContextNoRuntime(
                         new ServicesInjectorDefault(Collections.emptyList()), reflector);


[3/3] isis git commit: ISIS-1406: simpleapp integ tests also now running

Posted by da...@apache.org.
ISIS-1406: simpleapp integ tests also now running


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/d262830f
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/d262830f
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/d262830f

Branch: refs/heads/ISIS-1406
Commit: d262830f060d0a7b279e79adfead4ecb580ba13b
Parents: ddd0cf4
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu May 19 16:02:57 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu May 19 16:02:57 2016 +0100

----------------------------------------------------------------------
 .../isis/tool/mavenplugin/IsisMojoAbstract.java | 28 ++++++++++++++------
 .../config/IsisConfigurationDefault.java        | 11 ++++++++
 .../IsisConfigurationForJdoIntegTests.java      | 11 ++++++++
 3 files changed, 42 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/d262830f/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
----------------------------------------------------------------------
diff --git a/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java b/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
index c8af7e3..a9a3cfd 100644
--- a/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
+++ b/core/maven-plugin/src/main/java/org/apache/isis/tool/mavenplugin/IsisMojoAbstract.java
@@ -34,6 +34,7 @@ import org.apache.isis.applib.AppManifest;
 import org.apache.isis.core.commons.factory.InstanceUtil;
 import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.IsisSystem;
+import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.systemusinginstallers.IsisComponentProviderDefault2;
 import org.apache.isis.tool.mavenplugin.util.MavenProjects;
 
@@ -52,7 +53,7 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
 
     public void execute() throws MojoExecutionException, MojoFailureException {
 
-        ContextForMojo context = new ContextForMojo(mavenProject, getLog());
+        final ContextForMojo context = new ContextForMojo(mavenProject, getLog());
 
         final Plugin plugin = MavenProjects.lookupPlugin(mavenProject, CURRENT_PLUGIN_KEY);
 
@@ -63,14 +64,25 @@ public abstract class IsisMojoAbstract extends AbstractMojo {
         final IsisSystem isisSystem = new IsisSystem(componentProvider);
         try {
             isisSystem.init();
-
-            try {
-                doExecute(context, isisSystem);
-            } catch (IOException e) {
-                ;
-                // ignore
+            IsisContext.doInSession(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        doExecute(context, isisSystem);
+                    } catch (IOException e) {
+                        ;
+                        // ignore
+                    } catch (MojoFailureException e) {
+                        throw new RuntimeException(e);
+                    }
+                }
+            });
+
+        } catch(RuntimeException e) {
+            if(e.getCause() instanceof MojoFailureException) {
+                throw (MojoFailureException)e.getCause();
             }
-
+            throw e;
         } finally {
             isisSystem.shutdown();
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/d262830f/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
index d433584..5fc04a3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/config/IsisConfigurationDefault.java
@@ -38,6 +38,17 @@ import org.apache.isis.core.commons.exceptions.IsisException;
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
 import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 
+/**
+ * This object will typically be registered as the implementation of the {@link ConfigurationServiceInternal}
+ * (internal) domain service, using
+ * {@link org.apache.isis.core.metamodel.services.ServicesInjectorDefault#addFallbackIfRequired(Class, Object)}.
+ *
+ * <p>
+ *     If an integration test is running, then the <code>IsisConfigurationForJdoIntegTests</code> will be used instead.
+ * </p>
+ *
+ * @see
+ */
 public class IsisConfigurationDefault implements IsisConfiguration, ConfigurationServiceInternal {
     
     private static final Logger LOG = LoggerFactory.getLogger(IsisConfigurationDefault.class);

http://git-wip-us.apache.org/repos/asf/isis/blob/d262830f/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/IsisConfigurationForJdoIntegTests.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/IsisConfigurationForJdoIntegTests.java b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/IsisConfigurationForJdoIntegTests.java
index 70ce8e8..7e859fd 100644
--- a/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/IsisConfigurationForJdoIntegTests.java
+++ b/core/runtime/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/IsisConfigurationForJdoIntegTests.java
@@ -25,12 +25,19 @@ import org.datanucleus.PropertyNames;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.commons.resource.ResourceStreamSource;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.runtime.persistence.PersistenceConstants;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
 import org.apache.isis.objectstore.jdo.service.RegisterEntities;
 
+/**
+ * If instantiated by the integration testing framework, this object will be registered as the implementation of
+ * the {@link ConfigurationServiceInternal} (internal) domain service, using
+ * {@link org.apache.isis.core.metamodel.services.ServicesInjectorDefault#addFallbackIfRequired(Class, Object)}.
+ */
 public class IsisConfigurationForJdoIntegTests extends IsisConfigurationDefault {
 
     @SuppressWarnings("unused")
@@ -89,11 +96,13 @@ public class IsisConfigurationForJdoIntegTests extends IsisConfigurationDefault
         add("isis.services.eventbus.allowLateRegistration", "true");
     }
 
+    @Programmatic
     public final IsisConfigurationForJdoIntegTests addDataNucleusProperty(final String key, final String value) {
         add(PersistenceSession.DATANUCLEUS_PROPERTIES_ROOT + key, value);
         return this;
     }
 
+    @Programmatic
     public final IsisConfigurationForJdoIntegTests putDataNucleusProperty(final String key, final String value) {
         put(PersistenceSession.DATANUCLEUS_PROPERTIES_ROOT + key, value);
         return this;
@@ -103,6 +112,7 @@ public class IsisConfigurationForJdoIntegTests extends IsisConfigurationDefault
      * Typically integration tests should set the {@link RegisterEntities} package prefix(es); this method makes it
      * easy to do so.
      */
+    @Programmatic
     public final IsisConfigurationForJdoIntegTests addRegisterEntitiesPackagePrefix(final String... packagePrefix) {
         final String commaSeparated = Joiner.on(',').join(packagePrefix);
         add(RegisterEntities.PACKAGE_PREFIX_KEY, commaSeparated);
@@ -113,6 +123,7 @@ public class IsisConfigurationForJdoIntegTests extends IsisConfigurationDefault
      * Typically integration tests should set the {@link RegisterEntities} package prefix(es); this method makes it
      * easy to do so.
      */
+    @Programmatic
     public final IsisConfigurationForJdoIntegTests putRegisterEntitiesPackagePrefix(final String... packagePrefix) {
         final String commaSeparated = Joiner.on(',').join(packagePrefix);
         put(RegisterEntities.PACKAGE_PREFIX_KEY, commaSeparated);


[2/3] isis git commit: ISIS-1406: unit tests now passing for isis-core-metamodel.

Posted by da...@apache.org.
ISIS-1406: unit tests now passing for isis-core-metamodel.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/ddd0cf4f
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/ddd0cf4f
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/ddd0cf4f

Branch: refs/heads/ISIS-1406
Commit: ddd0cf4fb6bd93a3af73064e1ed2d858cccc0390
Parents: 7456588
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Thu May 19 15:33:47 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Thu May 19 15:33:47 2016 +0100

----------------------------------------------------------------------
 .../specimpl/ObjectMemberAbstract.java          |  2 +-
 .../AbstractFacetFactoryJUnit4TestCase.java     | 19 ++++--
 .../facets/AbstractFacetFactoryTest.java        | 35 ++++++++---
 .../actions/ActionMethodsFacetFactoryTest.java  | 45 ++++++++------
 .../ActionAnnotationFacetFactoryTest.java       | 21 +++++--
 ...tationFacetFactoryTest_actionInvocation.java |  1 +
 .../PrototypeFacetAnnotationFactoryTest.java    | 16 +----
 ...nLayoutAnnotationFacetFactoryJunit4Test.java | 19 ++++--
 ...youtXmlLayoutAnnotationFacetFactoryTest.java |  6 ++
 .../CollectionFieldMethodsFacetFactoryTest.java | 25 ++++----
 ...ewModelSemanticCheckingFacetFactoryTest.java |  8 ++-
 ...etFromBoundedMarkerInterfaceFactoryTest.java | 12 ++--
 .../DomainObjectAnnotationFacetFactoryTest.java | 10 ---
 .../DomainObjectLayoutFactoryTest.java          | 33 +++++++---
 ...tAnnotationElseConfigurationFactoryTest.java | 40 +-----------
 .../ParseableFacetUsingParserTest.java          |  9 ++-
 ...cetAnnotationOrConfigurationFactoryTest.java | 64 +++++++-------------
 ...icationFacetFactoryProcessParameterTest.java | 12 +++-
 .../ParameterAnnotationFacetFactoryTest.java    | 15 ++---
 .../PropertyMethodsFacetFactoryTest.java        | 37 -----------
 ...ficationFacetFactoryProcessPropertyTest.java | 21 ++++---
 .../PropertyAnnotationFacetFactoryTest.java     | 13 ++++
 .../ValueSemanticsProviderAbstractTestCase.java | 35 ++++++-----
 ...jectAssociationFiltersTest_visibleWhere.java |  9 ++-
 .../LayoutMetadataReaderFromJsonTest_read.java  | 37 +++++++++--
 ...MetadataReaderFromJsonTest_readMetadata.java | 41 +++++++++++--
 ...ApplicationFeatureRepositoryDefaultTest.java | 13 +++-
 .../ObjectReflectorDefaultTestAbstract.java     | 43 ++++++++++---
 28 files changed, 363 insertions(+), 278 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
index f10a5ac..dd9ccd2 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
@@ -356,7 +356,7 @@ public abstract class ObjectMemberAbstract implements ObjectMember {
             }
             return singularName;
         }
-        final int indexOfUnderscore = singularName.indexOf('_');
+        final int indexOfUnderscore = singularName.lastIndexOf('_');
         if (indexOfUnderscore == -1) {
             return singularName;
         }

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
index 4c5d723..6d6084b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
@@ -27,10 +27,11 @@ import org.jmock.auto.Mock;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Rule;
+
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
@@ -39,6 +40,7 @@ import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
 import org.apache.isis.core.metamodel.facetapi.MethodRemover;
 import org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete.AutoCompleteFacetForDomainObjectAnnotation;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
@@ -67,7 +69,8 @@ public abstract class AbstractFacetFactoryJUnit4TestCase {
     protected TranslationService mockTranslationService;
 
     @Mock
-    protected IsisConfiguration mockConfiguration;
+    protected IsisConfigurationDefault mockConfiguration;
+
     @Mock
     protected DeploymentCategoryProvider mockDeploymentCategoryProvider;
     @Mock
@@ -103,14 +106,22 @@ public abstract class AbstractFacetFactoryJUnit4TestCase {
     @Before
     public void setUpFacetedMethodAndParameter() throws Exception {
 
+
         context.checking(new Expectations() {{
+            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
+            will(returnValue(mockDeploymentCategoryProvider));
+
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
-        }});
 
-        context.checking(new Expectations() {{
+            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            will(returnValue(mockConfiguration));
+
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
+
+            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
+            will(returnValue(mockAuthenticationSessionProvider));
         }});
 
         facetHolder = new AbstractFacetFactoryTest.IdentifiedHolderImpl(Identifier.propertyOrCollectionIdentifier(Customer.class, "firstName"));

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
index bc92caf..5a13dd5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
@@ -27,13 +27,16 @@ import org.junit.Rule;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.core.metamodel.facetapi.FeatureType;
 import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -61,7 +64,9 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
     protected TranslationService mockTranslationService;
     protected DeploymentCategoryProvider mockDeploymentCategoryProvider;
     protected AuthenticationSessionProvider mockAuthenticationSessionProvider;
+    protected AuthenticationSession mockAuthenticationSession;
 
+    protected IsisConfigurationDefault stubConfiguration;
     protected ProgrammableReflector programmableReflector;
     protected ProgrammableMethodRemover methodRemover;
 
@@ -86,28 +91,44 @@ public abstract class AbstractFacetFactoryTest extends TestCase {
     @Override
     protected void setUp() throws Exception {
         super.setUp();
+
         programmableReflector = new ProgrammableReflector();
-        facetHolder = new IdentifiedHolderImpl(Identifier.propertyOrCollectionIdentifier(Customer.class, "firstName"));
+
+        facetHolder = new IdentifiedHolderImpl(
+                Identifier.propertyOrCollectionIdentifier(Customer.class, "firstName"));
         facetedMethod = FacetedMethod.createForProperty(Customer.class, "firstName");
-        facetedMethodParameter = new FacetedMethodParameter(facetedMethod.getOwningType(), facetedMethod.getMethod(), String.class);
+        facetedMethodParameter = new FacetedMethodParameter(
+                facetedMethod.getOwningType(), facetedMethod.getMethod(), String.class);
+
         methodRemover = new ProgrammableMethodRemover();
 
         mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
         mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
         mockServicesInjector = context.mock(ServicesInjector.class);
         mockTranslationService = context.mock(TranslationService.class);
+        stubConfiguration = new IsisConfigurationDefault();
+        mockAuthenticationSession = context.mock(AuthenticationSession.class);
 
         context.checking(new Expectations() {{
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-        }});
 
-        context.checking(new Expectations() {{
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
-        }});
 
+            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            will(returnValue(stubConfiguration));
+
+            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
+            will(returnValue(mockAuthenticationSessionProvider));
 
+            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
+            will(returnValue(mockDeploymentCategoryProvider));
+
+            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
+            will(returnValue(DeploymentCategory.PRODUCTION));
+
+            allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
+            will(returnValue(mockAuthenticationSession));
+        }});
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
index 94a4b9b..c38a540 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/ActionMethodsFacetFactoryTest.java
@@ -33,6 +33,7 @@ import org.apache.isis.applib.security.UserMemento;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
 import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -78,6 +79,7 @@ import org.apache.isis.core.metamodel.facets.param.choices.methodnum.ActionParam
 import org.apache.isis.core.metamodel.facets.param.defaults.ActionParameterDefaultsFacet;
 import org.apache.isis.core.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethod;
 import org.apache.isis.core.metamodel.facets.param.defaults.methodnum.ActionParameterDefaultsFacetViaMethodFactory;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.metamodel.testspec.ObjectSpecificationStub;
@@ -94,24 +96,9 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
     private ServicesInjector mockServicesInjector;
     private DeploymentCategoryProvider mockDeploymentCategoryProvider;
     private AuthenticationSessionProvider mockAuthenticationSessionProvider;
+    private ConfigurationServiceInternal stubConfigurationServiceInternal;
     private TranslationService mockTranslationService;
 
-    private void injectServicesIntoAndAllowingServiceInjectorLookups(final FacetFactoryAbstract facetFactory) {
-        facetFactory.setSpecificationLoader(programmableReflector);
-        facetFactory.setServicesInjector(mockServicesInjector);
-
-        context.checking(new Expectations(){{
-            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
-            will(returnValue(mockAuthenticationSessionProvider));
-
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-        }});
-    }
-
     public void setUp() throws Exception {
         super.setUp();
         mockServicesInjector = context.mock(ServicesInjector.class);
@@ -119,23 +106,41 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
 
         mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
         mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
+        stubConfigurationServiceInternal = new IsisConfigurationDefault(null);
 
         final AuthenticationSession mockAuthenticationSession = context.mock(AuthenticationSession.class);
+
         context.checking(new Expectations() {{
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
 
             allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
-
             will(returnValue(mockAuthenticationSession));
-        }});
 
-        context.checking(new Expectations() {{
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
+
+            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
+            will(returnValue(mockAuthenticationSessionProvider));
+
+            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            will(returnValue(stubConfigurationServiceInternal));
+
+            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
+            will(returnValue(mockDeploymentCategoryProvider));
+
+            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
+            will(returnValue(DeploymentCategory.PRODUCTION));
         }});
+
     }
 
+    private void injectServicesIntoAndAllowingServiceInjectorLookups(final FacetFactoryAbstract facetFactory) {
+        facetFactory.setSpecificationLoader(programmableReflector);
+        facetFactory.setServicesInjector(mockServicesInjector);
+    }
+
+
     public void testProvidesDefaultNameForActionButIgnoresAnyNamedAnnotation() {
         final ActionNamedDebugExplorationFacetFactory facetFactory = new ActionNamedDebugExplorationFacetFactory();
 
@@ -605,6 +610,8 @@ public class ActionMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
     public void testInstallsDisabledForSessionFacetAndRemovesMethod() {
         final DisableForSessionFacetViaMethodFactory facetFactory = new DisableForSessionFacetViaMethodFactory();
         facetFactory.setSpecificationLoader(programmableReflector);
+        facetFactory.setServicesInjector(mockServicesInjector);
+
         programmableReflector.setLoadSpecificationStringReturn(voidSpec);
 
         final Method actionMethod = findMethod(CustomerStatic.class, "someAction", new Class[] { int.class, Long.class });

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
index effc7ce..47c815f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest.java
@@ -94,7 +94,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import static org.apache.isis.core.commons.matchers.IsisMatchers.classEqualTo;
 import static org.hamcrest.CoreMatchers.instanceOf;
 import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.nullValue;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThat;
@@ -129,8 +128,6 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
     @Before
     public void setUp() throws Exception {
         facetFactory = new ActionAnnotationFacetFactory();
-        facetFactory.setSpecificationLoader(mockSpecificationLoaderSpi);
-        facetFactory.setServicesInjector(mockServicesInjector);
 
         context.checking(new Expectations() {{
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
@@ -144,9 +141,13 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
 
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
+
         }});
 
         actionMethod = findMethod(Customer.class, "someAction");
+
+        facetFactory.setSpecificationLoader(mockSpecificationLoaderSpi);
+        facetFactory.setServicesInjector(mockServicesInjector);
     }
 
     @After
@@ -202,6 +203,12 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingLoadSpecificationRequestsFor(cls, actionMethod.getReturnType());
             expectRemoveMethod(actionMethod);
 
+            context.checking(new Expectations() {{
+                allowing(mockConfiguration).getBoolean("isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", true);
+                will(returnValue(true));
+            }});
+
+
             // when
             final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
@@ -326,6 +333,12 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             allowingLoadSpecificationRequestsFor(cls, actionMethod.getReturnType());
             expectRemoveMethod(actionMethod);
 
+            context.checking(new Expectations() {{
+                allowing(mockConfiguration).getBoolean("isis.reflector.facet.actionAnnotation.domainEvent.postForDefault", true);
+                will(returnValue(true));
+            }});
+
+
             // when
             final ProcessMethodContext processMethodContext = new ProcessMethodContext(cls, null, null, actionMethod, mockMethodRemover, facetedMethod);
             facetFactory.processInvocation(processMethodContext);
@@ -1162,7 +1175,7 @@ public class ActionAnnotationFacetFactoryTest extends AbstractFacetFactoryJUnit4
             assertNotNull(facet);
             final PublishedActionFacetFromConfiguration facetImpl = (PublishedActionFacetFromConfiguration) facet;
             final PublishedAction.PayloadFactory payloadFactory = facetImpl.value();
-            assertThat(payloadFactory, is(nullValue()));
+            assertThat(payloadFactory, is(instanceOf(PublishedActionPayloadFactoryDefault.class)));
         }
 
         @Test(expected=IllegalStateException.class)

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
index 03dcaf6..a50cf4e 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactoryTest_actionInvocation.java
@@ -71,6 +71,7 @@ public class ActionAnnotationFacetFactoryTest_actionInvocation extends AbstractF
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
         }});
+
     }
 
     public void testActionInvocationFacetIsInstalledAndMethodRemoved() {

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
index 78bb38d..7315220 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/action/PrototypeFacetAnnotationFactoryTest.java
@@ -24,7 +24,6 @@ import java.lang.reflect.Method;
 import org.jmock.Expectations;
 
 import org.apache.isis.applib.annotation.Prototype;
-import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
@@ -42,18 +41,10 @@ public class PrototypeFacetAnnotationFactoryTest extends AbstractFacetFactoryTes
 
     private ActionAnnotationFacetFactory facetFactory;
 
-    private TranslationService mockTranslationService;
-
-    private DeploymentCategoryProvider mockDeploymentCategoryProvider;
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
-
     @Override
     protected void setUp() throws Exception {
         super.setUp();
 
-        mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
-        mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
-
         final AuthenticationSession mockAuthenticationSession = context.mock(AuthenticationSession.class);
         context.checking(new Expectations() {{
             allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
@@ -64,17 +55,14 @@ public class PrototypeFacetAnnotationFactoryTest extends AbstractFacetFactoryTes
 
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
-        }});
-
 
-        facetFactory = new ActionAnnotationFacetFactory();
-        facetFactory.setServicesInjector(mockServicesInjector);
-        context.checking(new Expectations(){{
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
         }});
 
+        facetFactory = new ActionAnnotationFacetFactory();
+        facetFactory.setServicesInjector(mockServicesInjector);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
index aa8462b..865fcb8 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutAnnotationFacetFactoryJunit4Test.java
@@ -36,6 +36,7 @@ import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.actions.notcontributed.NotContributedFacet;
 import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacet;
 import org.apache.isis.core.metamodel.facets.object.domainservice.DomainServiceFacetAbstract;
+import org.apache.isis.core.metamodel.facets.object.mixin.MixinFacet;
 
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.CoreMatchers.nullValue;
@@ -289,8 +290,11 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
                 will(returnValue(mockObjSpec));
 
                 allowing(mockObjSpec).getFacet(DomainServiceFacet.class);
-                will(returnValue(new DomainServiceFacetAbstract(mockObjSpec, null, NatureOfService.VIEW_MENU_ONLY) {
-                }));
+                will(returnValue(new DomainServiceFacetAbstract(mockObjSpec, null, NatureOfService.VIEW_MENU_ONLY) { }));
+
+                allowing(mockObjSpec).getFacet(MixinFacet.class);
+                will(returnValue(null));
+
             }});
 
             expectNoMethodsRemoved();
@@ -324,8 +328,11 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
                 will(returnValue(mockObjSpec));
 
                 allowing(mockObjSpec).getFacet(DomainServiceFacet.class);
-                will(returnValue(new DomainServiceFacetAbstract(mockObjSpec, null, NatureOfService.DOMAIN) {
-                }));
+                will(returnValue(new DomainServiceFacetAbstract(mockObjSpec, null, NatureOfService.DOMAIN) { }));
+
+                allowing(mockObjSpec).getFacet(MixinFacet.class);
+                will(returnValue(null));
+
             }});
 
             expectNoMethodsRemoved();
@@ -344,7 +351,6 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
         @Test
         public void onDomainObjectIsIgnored() {
 
-
             // given
             @DomainObject
             class Customer {
@@ -361,6 +367,9 @@ public class ActionLayoutAnnotationFacetFactoryJunit4Test extends AbstractFacetF
 
                 allowing(mockObjSpec).getFacet(DomainServiceFacet.class);
                 will(returnValue(null));
+
+                allowing(mockObjSpec).getFacet(MixinFacet.class);
+                will(returnValue(null));
             }});
 
             expectNoMethodsRemoved();

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
index 18f4a69..ebb573d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
@@ -140,6 +140,9 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
 
                     allowing(mockObjSpec).getFacet(DomainServiceFacet.class);
                     will(returnValue(null));
+
+                    allowing(mockObjSpec).getFacet(MixinFacet.class);
+                    will(returnValue(null));
                 }
             });
 
@@ -173,6 +176,9 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
 
                     allowing(mockObjSpec).getFacet(DomainServiceFacet.class);
                     will(returnValue(null));
+
+                    allowing(mockObjSpec).getFacet(MixinFacet.class);
+                    will(returnValue(null));
                 }
             });
 

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
index 3f80dcc..2ea9754 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/CollectionFieldMethodsFacetFactoryTest.java
@@ -72,6 +72,7 @@ import org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenF
 import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethod;
 import org.apache.isis.core.metamodel.facets.members.named.staticmethod.NamedFacetStaticMethodFactory;
 import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -94,27 +95,17 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
         mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
 
         final AuthenticationSession mockAuthenticationSession = context.mock(AuthenticationSession.class);
+
         context.checking(new Expectations() {{
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
 
             allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
-
             will(returnValue(mockAuthenticationSession));
-        }});
 
-        context.checking(new Expectations() {{
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
-        }});
-    }
-
-
-    private void injectServicesIntoAndAllowingServiceInjectorLookups(final FacetFactoryAbstract ffa) {
-        ffa.setSpecificationLoader(programmableReflector);
-        ffa.setServicesInjector(mockServicesInjector);
 
-        context.checking(new Expectations(){{
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
@@ -123,7 +114,19 @@ public class CollectionFieldMethodsFacetFactoryTest extends AbstractFacetFactory
 
             allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
             will(returnValue(DeploymentCategory.PRODUCTION));
+
+            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            will(returnValue(stubConfiguration));
         }});
+
+    }
+
+
+    private void injectServicesIntoAndAllowingServiceInjectorLookups(final FacetFactoryAbstract ffa) {
+
+        ffa.setSpecificationLoader(programmableReflector);
+        ffa.setServicesInjector(mockServicesInjector);
+
     }
 
     public void testPropertyAccessorFacetIsInstalledForJavaUtilCollectionAndMethodRemoved() {

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
index fe072fd..3a686c0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/ViewModelSemanticCheckingFacetFactoryTest.java
@@ -23,9 +23,10 @@ import org.jmock.auto.Mock;
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+
 import org.apache.isis.applib.RecreatableDomainObject;
 import org.apache.isis.applib.annotation.Nature;
-import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
 import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
@@ -44,7 +45,7 @@ public class ViewModelSemanticCheckingFacetFactoryTest {
     public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
 
     @Mock
-    private IsisConfiguration mockConfiguration;
+    private IsisConfigurationDefault mockConfiguration;
 
     @Mock
     private ServicesInjector mockServicesInjector;
@@ -67,6 +68,7 @@ public class ViewModelSemanticCheckingFacetFactoryTest {
         context.checking(new Expectations() {{
             allowing(mockConfiguration).getBoolean(with(equalTo("isis.reflector.facets.ViewModelSemanticCheckingFacetFactory.enable")), with(any(boolean.class)));
             will(returnValue(true));
+
         }});
         facetFactory = new ViewModelSemanticCheckingFacetFactory();
 
@@ -74,6 +76,8 @@ public class ViewModelSemanticCheckingFacetFactoryTest {
             allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
             will(returnValue(mockConfiguration));
         }});
+
+        facetFactory.setServicesInjector(mockServicesInjector);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
index 67e6eab..96d0a3f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/bounded/ChoicesFacetFromBoundedMarkerInterfaceFactoryTest.java
@@ -40,9 +40,6 @@ public class ChoicesFacetFromBoundedMarkerInterfaceFactoryTest extends AbstractF
 
     private ChoicesFacetFromBoundedMarkerInterfaceFactory facetFactory;
 
-    private DeploymentCategoryProvider mockDeploymentCategoryProvider;
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
-
     @Override
     protected void setUp() throws Exception {
         super.setUp();
@@ -57,12 +54,7 @@ public class ChoicesFacetFromBoundedMarkerInterfaceFactoryTest extends AbstractF
 
             allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
             will(returnValue(mockAuthenticationSession));
-        }});
-
-        facetFactory = new ChoicesFacetFromBoundedMarkerInterfaceFactory();
-        facetFactory.setServicesInjector(mockServicesInjector);
 
-        context.checking(new Expectations(){{
             allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
             will(returnValue(mockAuthenticationSessionProvider));
 
@@ -70,6 +62,10 @@ public class ChoicesFacetFromBoundedMarkerInterfaceFactoryTest extends AbstractF
             will(returnValue(mockDeploymentCategoryProvider));
         }});
 
+        facetFactory = new ChoicesFacetFromBoundedMarkerInterfaceFactory();
+        facetFactory.setServicesInjector(mockServicesInjector);
+
+
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index 41c1583..fc5dd59 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -81,16 +81,6 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
 
         facetFactory.setServicesInjector(mockServicesInjector);
 
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
-            will(returnValue(mockConfiguration));
-        }});
     }
 
     @After

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
index acce1b6..32de97a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/domainobjectlayout/DomainObjectLayoutFactoryTest.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.core.metamodel.facets.object.domainobjectlayout;
 
+import org.jmock.Expectations;
 import org.jmock.auto.Mock;
 import org.junit.After;
 import org.junit.Assert;
@@ -55,6 +56,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
     @Before
     public void setUp() throws Exception {
         facetFactory = new DomainObjectLayoutFacetFactory();
+        facetFactory.setServicesInjector(mockServicesInjector);
     }
 
     @After
@@ -101,6 +103,11 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
         public static class ForDomainObjectLayout extends Bookmarking {
 
+            @Before
+            public void setUp2() throws Exception {
+                context.ignoring(mockConfiguration);
+            }
+
             @Test
             public void whenSpecified() {
 
@@ -176,6 +183,11 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
         public static class ForDomainObjectLayout extends CssClass {
 
             @Before
+            public void setUp2() throws Exception {
+                context.ignoring(mockConfiguration);
+            }
+
+            @Before
             public void setUp() throws Exception {
                 super.setUp();
             }
@@ -254,10 +266,11 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
         public static class ForDomainObjectLayout extends CssClassFa {
 
             @Before
-            public void setUp() throws Exception {
-                super.setUp();
+            public void setUp2() throws Exception {
+                context.ignoring(mockConfiguration);
             }
 
+
             @Test
             public void whenSpecified() {
 
@@ -334,8 +347,8 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
         public static class ForDomainObjectLayout extends DescribedAs {
 
             @Before
-            public void setUp() throws Exception {
-                super.setUp();
+            public void setUp2() throws Exception {
+                context.ignoring(mockConfiguration);
             }
 
             @Test
@@ -412,8 +425,8 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
         public static class ForDomainObjectLayout extends Named {
 
             @Before
-            public void setUp() throws Exception {
-                super.setUp();
+            public void setUp2() throws Exception {
+                context.ignoring(mockConfiguration);
             }
 
             @Test
@@ -490,8 +503,8 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
         public static class ForDomainObjectLayout extends Paged {
 
             @Before
-            public void setUp() throws Exception {
-                super.setUp();
+            public void setUp2() throws Exception {
+                context.ignoring(mockConfiguration);
             }
 
             @Test
@@ -568,8 +581,8 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
         public static class ForDomainObjectLayout extends Plural {
 
             @Before
-            public void setUp() throws Exception {
-                super.setUp();
+            public void setUp2() throws Exception {
+                context.ignoring(mockConfiguration);
             }
 
             @Test

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAnnotationElseConfigurationFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAnnotationElseConfigurationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAnnotationElseConfigurationFactoryTest.java
index 4a58aae..9a253a9 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAnnotationElseConfigurationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetAnnotationElseConfigurationFactoryTest.java
@@ -24,57 +24,23 @@ import org.jmock.Expectations;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.annotation.Parseable;
 import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
 import org.apache.isis.core.metamodel.facets.object.parseable.annotcfg.ParseableFacetAnnotationElseConfigurationFactory;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
 public class ParseableFacetAnnotationElseConfigurationFactoryTest extends AbstractFacetFactoryTest {
     private JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
 
     private ParseableFacetAnnotationElseConfigurationFactory facetFactory;
-    private IsisConfigurationDefault isisConfigurationDefault;
 
-    private DeploymentCategoryProvider mockDeploymentCategoryProvider;
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
 
-        mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
-        mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
-
-
-        final AuthenticationSession mockAuthenticationSession = context.mock(AuthenticationSession.class);
-        context.checking(new Expectations() {{
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-
-            allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
-            will(returnValue(mockAuthenticationSession));
-        }});
-
         facetFactory = new ParseableFacetAnnotationElseConfigurationFactory();
-        isisConfigurationDefault = new IsisConfigurationDefault();
-
         facetFactory.setServicesInjector(mockServicesInjector);
-        context.checking(new Expectations(){{
-            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
-            will(returnValue(mockAuthenticationSessionProvider));
-
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
-            will(returnValue(isisConfigurationDefault));
-        }});
 
     }
 
@@ -223,7 +189,7 @@ public class ParseableFacetAnnotationElseConfigurationFactoryTest extends Abstra
 
     public void testParserNameCanBePickedUpFromConfiguration() {
         final String className = "org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacetAnnotationElseConfigurationFactoryTest$MyParseableWithParserSpecifiedUsingConfiguration";
-        isisConfigurationDefault.add(ParserUtil.PARSER_NAME_KEY_PREFIX + canonical(className) + ParserUtil.PARSER_NAME_KEY_SUFFIX, className);
+        stubConfiguration.add(ParserUtil.PARSER_NAME_KEY_PREFIX + canonical(className) + ParserUtil.PARSER_NAME_KEY_SUFFIX, className);
         facetFactory.process(new ProcessClassContext(MyParseableWithParserSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
         final ParseableFacetAbstract facet = (ParseableFacetAbstract) facetedMethod.getFacet(ParseableFacet.class);
         assertNotNull(facet);
@@ -241,7 +207,7 @@ public class ParseableFacetAnnotationElseConfigurationFactoryTest extends Abstra
 
     public void testNonAnnotatedParseableCanPickUpParserFromConfiguration() {
         final String className = "org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacetAnnotationElseConfigurationFactoryTest$NonAnnotatedParseableParserSpecifiedUsingConfiguration";
-        isisConfigurationDefault.add(ParserUtil.PARSER_NAME_KEY_PREFIX + canonical(className) + ParserUtil.PARSER_NAME_KEY_SUFFIX, className);
+        stubConfiguration.add(ParserUtil.PARSER_NAME_KEY_PREFIX + canonical(className) + ParserUtil.PARSER_NAME_KEY_SUFFIX, className);
         facetFactory.process(new ProcessClassContext(NonAnnotatedParseableParserSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
         final ParseableFacetAbstract facet = (ParseableFacetAbstract) facetedMethod.getFacet(ParseableFacet.class);
         assertNotNull(facet);

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
index b7b19ba..8216590 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/parseable/ParseableFacetUsingParserTest.java
@@ -50,7 +50,7 @@ public class ParseableFacetUsingParserTest {
     @Mock
     private AuthenticationSessionProvider mockAuthenticationSessionProvider;
     @Mock
-    private ServicesInjector mockDependencyInjector;
+    private ServicesInjector mockServicesInjector;
     @Mock
     private AdapterManager mockAdapterManager;
 
@@ -67,7 +67,10 @@ public class ParseableFacetUsingParserTest {
                 allowing(mockFacetHolder).containsFacet(ValueFacet.class);
                 will(returnValue(Boolean.FALSE));
 
-                allowing(mockDependencyInjector).injectServicesInto(with(any(Object.class)));
+                allowing(mockServicesInjector).injectServicesInto(with(any(Object.class)));
+
+                allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
+                will(returnValue(mockAuthenticationSessionProvider));
             }
         });
 
@@ -107,7 +110,7 @@ public class ParseableFacetUsingParserTest {
             }
         };
         parseableFacetUsingParser = new ParseableFacetUsingParser(parser, mockFacetHolder,
-                mockDependencyInjector, mockAdapterManager);
+                mockServicesInjector, mockAdapterManager);
     }
 
     @Ignore

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
index 6ecebf9..36efb18 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/value/ValueFacetAnnotationOrConfigurationFactoryTest.java
@@ -19,31 +19,23 @@
 
 package org.apache.isis.core.metamodel.facets.object.value;
 
-import org.jmock.Expectations;
-
 import org.apache.isis.applib.adapters.AbstractValueSemanticsProvider;
 import org.apache.isis.applib.adapters.DefaultsProvider;
 import org.apache.isis.applib.adapters.EncoderDecoder;
 import org.apache.isis.applib.adapters.Parser;
 import org.apache.isis.applib.annotation.Value;
 import org.apache.isis.applib.profiles.Localization;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessClassContext;
+import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacet;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
 import org.apache.isis.core.metamodel.facets.object.immutable.ImmutableFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
 import org.apache.isis.core.metamodel.facets.object.title.TitleFacet;
+import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetAnnotation;
 import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetAnnotationOrConfigurationFactory;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderUtil;
 import org.apache.isis.core.metamodel.facets.objectvalue.typicallen.TypicalLengthFacet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacet;
-import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetAnnotation;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
 public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFacetFactoryTest {
@@ -51,43 +43,13 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
     private JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
 
     private ValueFacetAnnotationOrConfigurationFactory facetFactory;
-    private IsisConfigurationDefault isisConfigurationDefault;
-
-    private DeploymentCategoryProvider mockDeploymentCategoryProvider;
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
 
     @Override
     protected void setUp() throws Exception {
         super.setUp();
 
-        mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
-        mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
-
-
-        final AuthenticationSession mockAuthenticationSession = context.mock(AuthenticationSession.class);
-        context.checking(new Expectations() {{
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-
-            allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
-            will(returnValue(mockAuthenticationSession));
-        }});
-
         facetFactory = new ValueFacetAnnotationOrConfigurationFactory();
-
-        isisConfigurationDefault = new IsisConfigurationDefault();
-
         facetFactory.setServicesInjector(mockServicesInjector);
-        context.checking(new Expectations(){{
-            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
-            will(returnValue(mockAuthenticationSessionProvider));
-
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
-            will(returnValue(isisConfigurationDefault));
-        }});
     }
 
     @Override
@@ -462,9 +424,16 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
     }
 
     public void testSemanticsProviderNameCanBePickedUpFromConfiguration() {
+
+        // given
         final String className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$MyValueWithSemanticsProviderSpecifiedUsingConfiguration";
-        isisConfigurationDefault.add(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className);
+
+        stubConfiguration.add(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className);
+
+        // when
         facetFactory.process(new ProcessClassContext(MyValueWithSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
+
+        // then
         final ValueFacetAbstract facet = (ValueFacetAbstract) facetedMethod.getFacet(ValueFacet.class);
         assertNotNull(facet);
         // should also be a ParserFacet, since the VSP implements Parser
@@ -506,9 +475,18 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
     }
 
     public void testNonAnnotatedValueCanPickUpSemanticsProviderFromConfiguration() {
+
+        // given
         final String className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration";
-        isisConfigurationDefault.add(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className);
+
+        stubConfiguration.add(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className);
+
+
+        // when
         facetFactory.process(new ProcessClassContext(NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
+
+
+        // then
         final ValueFacetAbstract facet = (ValueFacetAbstract) facetedMethod.getFacet(ValueFacet.class);
         assertNotNull(facet);
         // should also be a ParserFacet, since the VSP implements Parser

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
index e28e4a2..5a6402a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/MustSatisfySpecificationFacetFactoryProcessParameterTest.java
@@ -30,11 +30,13 @@ import org.junit.Test;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessParameterContext;
 import org.apache.isis.core.metamodel.facets.FacetedMethodParameter;
 import org.apache.isis.core.metamodel.facets.param.parameter.mustsatisfy.MustSatisfySpecificationFacetForMustSatisfyAnnotationOnParameter;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithMustSatisfyAnnotations;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithoutMustSatisfyAnnotations;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -54,6 +56,8 @@ public class MustSatisfySpecificationFacetFactoryProcessParameterTest {
     @Mock
     private TranslationService mockTranslationService;
 
+    private IsisConfigurationDefault stubConfiguration;
+
 
     private Class<DomainObjectWithoutMustSatisfyAnnotations> domainObjectClassWithoutAnnotation;
     private Class<DomainObjectWithMustSatisfyAnnotations> domainObjectClassWithAnnotation;
@@ -67,11 +71,15 @@ public class MustSatisfySpecificationFacetFactoryProcessParameterTest {
     @Before
     public void setUp() throws Exception {
 
+        stubConfiguration = new IsisConfigurationDefault();
+
         context.checking(new Expectations() {{
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
-        }});
-        context.checking(new Expectations() {{
+
+            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            will(returnValue(stubConfiguration));
+
             allowing(mockServicesInjector).injectServicesInto(with(any(List.class)));
         }});
 

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactoryTest.java
index 3e89fb4..384e95f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/param/parameter/ParameterAnnotationFacetFactoryTest.java
@@ -32,8 +32,6 @@ import org.junit.Test;
 import org.apache.isis.applib.annotation.Optionality;
 import org.apache.isis.applib.annotation.Parameter;
 import org.apache.isis.applib.spec.Specification;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
 import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryJUnit4TestCase;
 import org.apache.isis.core.metamodel.facets.FacetFactory;
 import org.apache.isis.core.metamodel.facets.objectvalue.mandatory.MandatoryFacet;
@@ -81,15 +79,6 @@ public class ParameterAnnotationFacetFactoryTest extends AbstractFacetFactoryJUn
         facetFactory = new ParameterAnnotationFacetFactory();
         facetFactory.setSpecificationLoader(mockSpecificationLoaderSpi);
         facetFactory.setServicesInjector(mockServicesInjector);
-
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-        }});
-
     }
 
     @After
@@ -160,6 +149,10 @@ public class ParameterAnnotationFacetFactoryTest extends AbstractFacetFactoryJUn
             // given
             actionMethod = findMethod(Customer.class, "someAction", new Class[]{String.class} );
 
+            // expecting
+            context.ignoring(mockServicesInjector);
+
+
             // when
             final FacetFactory.ProcessParameterContext processParameterContext = new FacetFactory.ProcessParameterContext(Customer.class, actionMethod, 0, null, facetedMethodParameter);
             facetFactory.processParams(processParameterContext);

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
index 07f41cd..7c8b0e6 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/PropertyMethodsFacetFactoryTest.java
@@ -24,8 +24,6 @@ import java.lang.reflect.Method;
 import org.jmock.Expectations;
 
 import org.apache.isis.applib.security.UserMemento;
-import org.apache.isis.applib.services.i18n.TranslationService;
-import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
 import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
@@ -84,54 +82,19 @@ import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySe
 import org.apache.isis.core.metamodel.facets.properties.validating.PropertyValidateFacet;
 import org.apache.isis.core.metamodel.facets.properties.validating.method.PropertyValidateFacetViaMethod;
 import org.apache.isis.core.metamodel.facets.properties.validating.method.PropertyValidateFacetViaMethodFactory;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
 public class PropertyMethodsFacetFactoryTest extends AbstractFacetFactoryTest {
 
     private JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
 
-    private ServicesInjector mockServicesInjector;
-    private TranslationService mockTranslationService;
-
-    private DeploymentCategoryProvider mockDeploymentCategoryProvider;
-    private AuthenticationSessionProvider mockAuthenticationSessionProvider;
-
     public void setUp() throws Exception {
         super.setUp();
-        mockServicesInjector = context.mock(ServicesInjector.class);
-        mockTranslationService = context.mock(TranslationService.class);
-
-        mockDeploymentCategoryProvider = context.mock(DeploymentCategoryProvider.class);
-        mockAuthenticationSessionProvider = context.mock(AuthenticationSessionProvider.class);
-
-        context.checking(new Expectations() {{
-            allowing(mockServicesInjector).lookupService(TranslationService.class);
-            will(returnValue(mockTranslationService));
-        }});
-
-        final AuthenticationSession mockAuthenticationSession = context.mock(AuthenticationSession.class);
-        context.checking(new Expectations() {{
-            allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
-            will(returnValue(DeploymentCategory.PRODUCTION));
-
-            allowing(mockAuthenticationSessionProvider).getAuthenticationSession();
-
-            will(returnValue(mockAuthenticationSession));
-        }});
     }
 
     private void injectServicesIntoAndAllowingServiceInjectorLookups(final FacetFactoryAbstract facetFactory) {
         facetFactory.setSpecificationLoader(programmableReflector);
         facetFactory.setServicesInjector(mockServicesInjector);
-        context.checking(new Expectations(){{
-            allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
-            will(returnValue(mockAuthenticationSessionProvider));
-
-            allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
-            will(returnValue(mockDeploymentCategoryProvider));
-
-        }});
     }
 
     public void testPropertyAccessorFacetIsInstalledAndMethodRemoved() {

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
index 67eafec..f19326c 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/MustSatisfySpecificationFacetFactoryProcessPropertyTest.java
@@ -30,12 +30,14 @@ import org.junit.Test;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.services.i18n.TranslationService;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
 import org.apache.isis.core.metamodel.facetapi.MethodRemover;
 import org.apache.isis.core.metamodel.facets.FacetFactory.ProcessMethodContext;
 import org.apache.isis.core.metamodel.facets.FacetedMethod;
 import org.apache.isis.core.metamodel.facets.properties.property.mustsatisfy.MustSatisfySpecificationFacetForMustSatisfyAnnotationOnProperty;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithMustSatisfyAnnotations;
 import org.apache.isis.core.metamodel.facets.propparam.specification.DomainObjectWithoutMustSatisfyAnnotations;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
 import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -53,6 +55,8 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
 
     @Mock
     private ServicesInjector mockServicesInjector;
+    @Mock
+    private IsisConfigurationDefault mockConfiguration;
 
     @Mock
     private TranslationService mockTranslationService;
@@ -71,9 +75,15 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
         context.checking(new Expectations() {{
             allowing(mockServicesInjector).lookupService(TranslationService.class);
             will(returnValue(mockTranslationService));
-        }});
-        context.checking(new Expectations() {{
+
+            allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+            will(returnValue(mockConfiguration));
+
             allowing(mockServicesInjector).injectServicesInto(with(any(List.class)));
+
+            allowing(mockFacetedMethod).getIdentifier();
+            will(returnValue(Identifier.actionIdentifier(Customer.class, "foo")));
+
         }});
 
         domainObjectClassWithoutAnnotation = DomainObjectWithoutMustSatisfyAnnotations.class;
@@ -81,13 +91,6 @@ public class MustSatisfySpecificationFacetFactoryProcessPropertyTest {
         firstNameMethodWithout = domainObjectClassWithoutAnnotation.getMethod("getFirstName");
         firstNameMethodWith = domainObjectClassWithAnnotation.getMethod("getFirstName");
 
-        context.checking(new Expectations() {
-            {
-                allowing(mockFacetedMethod).getIdentifier();
-                will(returnValue(Identifier.actionIdentifier(Customer.class, "foo")));
-            }
-        });
-
         facetFactory = new PropertyAnnotationFacetFactory();
         facetFactory.setServicesInjector(mockServicesInjector);
     }

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
index 767be67..5cf5139 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/property/PropertyAnnotationFacetFactoryTest.java
@@ -190,6 +190,11 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
 
             // expect
             allowingLoadSpecificationRequestsFor(cls, propertyMethod.getReturnType());
+            context.checking(new Expectations() {{
+                oneOf(mockConfiguration).getBoolean("isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault", true);
+                will(returnValue(true));
+            }});
+
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
@@ -355,6 +360,10 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
 
             // expect
             allowingLoadSpecificationRequestsFor(cls, propertyMethod.getReturnType());
+            context.checking(new Expectations() {{
+                oneOf(mockConfiguration).getBoolean("isis.reflector.facet.propertyAnnotation.domainEvent.postForDefault", true);
+                will(returnValue(true));
+            }});
 
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
@@ -523,6 +532,10 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             final Class<?> cls = Customer.class;
             propertyMethod = findMethod(Customer.class, "getName");
 
+            // expecting
+            context.ignoring(mockServicesInjector);
+
+
             // when
             final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls, null, null, propertyMethod, mockMethodRemover, facetedMethod);
             facetFactory.processMustSatisfy(processMethodContext);

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
index e2c433b..72a6d61 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
@@ -19,14 +19,6 @@
 
 package org.apache.isis.core.metamodel.facets.value;
 
-import static org.apache.isis.core.unittestsupport.jmocking.JMockActions.returnArgument;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.fail;
-
 import java.util.Locale;
 
 import org.jmock.Expectations;
@@ -44,16 +36,24 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
-import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
-import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.metamodel.facets.object.encodeable.encoder.EncodableFacetUsingEncoderDecoder;
+import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
 import org.apache.isis.core.metamodel.facets.object.parseable.parser.ParseableFacetUsingParser;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
 import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderContext;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
+import org.apache.isis.core.metamodel.spec.SpecificationLoaderSpi;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
 
+import static org.apache.isis.core.unittestsupport.jmocking.JMockActions.returnArgument;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.fail;
+
 public abstract class ValueSemanticsProviderAbstractTestCase {
 
     @Rule
@@ -70,7 +70,7 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
     @Mock
     protected ValueSemanticsProviderContext mockContext;
     @Mock
-    protected ServicesInjector mockDependencyInjector;
+    protected ServicesInjector mockServicesInjector;
     @Mock
     protected AdapterManager mockAdapterManager;
     @Mock
@@ -95,10 +95,12 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
                 allowing(mockConfiguration).getString("isis.locale");
                 will(returnValue(null));
 
-                allowing(mockDependencyInjector).injectServicesInto(with(any(Object.class)));
+                allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
+                will(returnValue(mockAuthenticationSessionProvider));
 
-                never(mockAuthenticationSessionProvider);
+                allowing(mockServicesInjector).injectServicesInto(with(any(Object.class)));
 
+                never(mockAuthenticationSessionProvider);
                 never(mockAdapterManager);
             }
         });
@@ -120,9 +122,10 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
 
     protected void setValue(final ValueSemanticsProviderAndFacetAbstract<?> value) {
         this.valueSemanticsProvider = value;
-        this.encodeableFacet = new EncodableFacetUsingEncoderDecoder(value, mockFacetHolder, mockAdapterManager, mockDependencyInjector);
+        this.encodeableFacet = new EncodableFacetUsingEncoderDecoder(value, mockFacetHolder, mockAdapterManager,
+                mockServicesInjector);
         this.parseableFacet = new ParseableFacetUsingParser(value, mockFacetHolder,
-                mockDependencyInjector, mockAdapterManager);
+                mockServicesInjector, mockAdapterManager);
     }
 
     protected ValueSemanticsProviderAndFacetAbstract<?> getValue() {

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
index a2968e1..01926cc 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/feature/ObjectAssociationFiltersTest_visibleWhere.java
@@ -20,6 +20,9 @@ package org.apache.isis.core.metamodel.feature;
 
 import java.util.Arrays;
 import java.util.Collection;
+
+import com.google.common.collect.Lists;
+
 import org.hamcrest.Description;
 import org.hamcrest.Matcher;
 import org.hamcrest.TypeSafeMatcher;
@@ -104,14 +107,14 @@ public class ObjectAssociationFiltersTest_visibleWhere {
     @Before
     public void setUp() throws Exception {
         context.checking(new Expectations(){{
-            one(mockObjectAssociation).getFacet(with(subclassOf(HiddenFacet.class)));
-            will(returnValue(mockHiddenFacet));
-            
             allowing(mockHiddenFacet).where();
             will(returnValue(where));
 
             allowing(mockHiddenFacet).when();
             will(returnValue(when));
+
+            allowing(mockObjectAssociation).getFacets(with(any(Filter.class)));
+            will(returnValue(Lists.newArrayList(mockHiddenFacet)));
         }});
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
index 3290237..f39abf8 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_read.java
@@ -16,9 +16,6 @@
  */
 package org.apache.isis.core.metamodel.layoutmetadata.json;
 
-import static org.hamcrest.CoreMatchers.*;
-import static org.junit.Assert.assertThat;
-
 import java.util.Properties;
 import java.util.Set;
 import java.util.SortedSet;
@@ -26,23 +23,55 @@ import java.util.TreeSet;
 
 import com.google.common.base.Objects;
 
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 
+import org.apache.isis.applib.services.grid.GridService;
 import org.apache.isis.core.commons.lang.ClassExtensions;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.Assert.assertThat;
 
 public class LayoutMetadataReaderFromJsonTest_read {
-    
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private ServicesInjector mockServicesInjector;
+
+    @Mock
+    private GridService mockGridService;
+
     private LayoutMetadataReaderFromJson reader;
 
     @Before
     public void setUp() throws Exception {
         reader = new LayoutMetadataReaderFromJson();
+
+        context.checking(new Expectations() {{
+            allowing(mockServicesInjector).lookupService(GridService.class);
+            will(returnValue(mockGridService));
+        }});
+
+        reader.setServicesInjector(mockServicesInjector);
     }
     
     @Test
     public void happyCase() throws Exception {
+
+        context.checking(new Expectations() {{
+            ignoring(mockGridService);
+        }});
+
         final Properties properties = reader.asProperties(ExampleDomainObject.class);
         assertThat(properties, is(not(nullValue())));
         

http://git-wip-us.apache.org/repos/asf/isis/blob/ddd0cf4f/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
index aaf956f..47489be 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/layoutmetadata/json/LayoutMetadataReaderFromJsonTest_readMetadata.java
@@ -16,29 +16,58 @@
  */
 package org.apache.isis.core.metamodel.layoutmetadata.json;
 
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+
+import org.apache.isis.applib.annotation.Render;
+import org.apache.isis.applib.services.grid.GridService;
+import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadata;
+import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+
 import static org.hamcrest.CoreMatchers.equalTo;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.not;
 import static org.hamcrest.CoreMatchers.nullValue;
 import static org.junit.Assert.assertThat;
 
-import org.junit.Before;
-import org.junit.Test;
+public class LayoutMetadataReaderFromJsonTest_readMetadata {
+
+    @Rule
+    public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(JUnitRuleMockery2.Mode.INTERFACES_AND_CLASSES);
+
+    @Mock
+    private ServicesInjector mockServicesInjector;
+
+    @Mock
+    private GridService mockGridService;
 
-import org.apache.isis.applib.annotation.Render;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadata;
 
-public class LayoutMetadataReaderFromJsonTest_readMetadata {
-    
     private LayoutMetadataReaderFromJson reader;
 
     @Before
     public void setUp() throws Exception {
         reader = new LayoutMetadataReaderFromJson();
+
+
+        context.checking(new Expectations() {{
+            allowing(mockServicesInjector).lookupService(GridService.class);
+            will(returnValue(mockGridService));
+        }});
+
+        reader.setServicesInjector(mockServicesInjector);
     }
     
     @Test
     public void happyCase() throws Exception {
+
+        context.checking(new Expectations() {{
+            ignoring(mockGridService);
+        }});
+
         final LayoutMetadata metadata = reader.asLayoutMetadata(ExampleDomainObject.class);
         assertThat(metadata, is(not(nullValue())));
         assertThat(metadata.getColumns(), is(not(nullValue())));