You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2020/03/02 09:47:33 UTC

[isis] 04/04: ISIS-2296: remove most uses of _Config

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

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

commit 659458e4925a5269b385a67effe66454e36cc5f6
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Mar 2 10:47:12 2020 +0100

    ISIS-2296: remove most uses of _Config
---
 .../config/IsisConfiguration_createSubsetTest.java | 100 ---------------------
 .../core/config/IsisConfiguration_primingTest.java |  66 --------------
 .../config/IsisConfiguration_specialCharTest.java  |  52 -----------
 .../config/IsisConfiguration_whitespaceTest.java   |  73 ---------------
 .../config/unittestsupport/internal/_Config.java   |  22 ++---
 .../metamodel/MetaModelContext_configTest.java     |  44 ++++-----
 .../metamodel/MetaModelContext_forTesting.java     |  32 +++++--
 .../ViewModelSemanticCheckingFacetFactoryTest.java |   7 +-
 .../object/defaults/DefaultedFacetFactoryTest.java |  39 +++++---
 .../DomainObjectAnnotationFacetFactoryTest.java    |   1 -
 .../DomainObjectLayoutFactoryTest.java             |  12 +--
 ...eFacetAnnotationOrConfigurationFactoryTest.java |  31 ++++---
 .../PropertyAnnotationFacetFactoryTest.java        |   5 +-
 .../BigDecimalValueSemanticsProviderTest.java      |   2 +-
 .../value/BigIntValueSemanticsProviderTest.java    |   5 +-
 .../value/ByteValueSemanticsProviderTest.java      |   2 +-
 .../value/DoubleValueSemanticsProviderTest.java    |   2 +-
 .../value/FloatValueSemanticsProviderTest.java     |   2 +-
 .../value/IntValueSemanticsProviderTest.java       |   2 +-
 .../JavaSqlDateValueSemanticsProviderTest.java     |   2 +-
 .../JavaSqlTimeValueSemanticsProviderTest.java     |   2 +-
 .../JavaUtilDateValueSemanticsProviderTest.java    |   2 +-
 .../value/LongValueSemanticsProviderTest.java      |   2 +-
 .../value/ShortValueSemanticsProviderTest.java     |   2 +-
 .../ValueSemanticsProviderAbstractTestCase.java    |   2 +-
 ...odaLocalDateTimeValueSemanticsProviderTest.java |   6 +-
 .../WrapperFactoryDefault_wrappedObject_Test.java  |  16 ++--
 .../PercentageValueSemanticsProviderTest.java      |   7 +-
 .../context/ResourceContext_getArg_Test.java       |   9 ++
 29 files changed, 142 insertions(+), 407 deletions(-)

diff --git a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_createSubsetTest.java b/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_createSubsetTest.java
deleted file mode 100644
index 715cdfd..0000000
--- a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_createSubsetTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.apache.isis.core.config.unittestsupport.IsisConfigurationLegacy;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-
-import lombok.val;
-
-class IsisConfiguration_createSubsetTest {
-
-    @BeforeEach
-    public void setUp() throws Exception {
-        _Config.clear();
-    }
-
-    @Test
-    void empty() {
-
-        val configuration = _Config.getConfiguration();
-
-        final IsisConfigurationLegacy subset = configuration.subsetWithNamesStripped("foo");
-        assertEquals(true, subset.isEmpty());
-    }
-
-    @Test
-    void nonEmptyButNoneInSubset() {
-
-        _Config.put("bar", "barValue");
-
-        val configuration = _Config.getConfiguration();
-
-        final IsisConfigurationLegacy subset = configuration.subsetWithNamesStripped("foo");
-        assertEquals(true, subset.isEmpty());
-    }
-
-    @Test
-    void nonEmptyButSingleKeyedInSubset() {
-
-        _Config.put("foo", "fooValue");
-
-        val configuration = _Config.getConfiguration();
-
-        final IsisConfigurationLegacy subset = configuration.subsetWithNamesStripped("foo");
-        assertEquals(true, subset.isEmpty());
-    }
-
-    @Test
-    void nonEmptyAndMultiKeyedInSubset() {
-
-        _Config.put("foo.foz", "fozValue");
-
-        val configuration = _Config.getConfiguration();
-
-        final IsisConfigurationLegacy subset = configuration.subsetWithNamesStripped("foo");
-
-        assertEquals(1, subset.copyToMap().size());
-        assertEquals("fozValue", subset.getString("foz"));
-    }
-
-    @Test
-    void propertiesOutsideOfSubsetAreIgnored() {
-        _Config.put("foo.foz", "fozValue");
-        _Config.put("foo.faz", "fazValue");
-        _Config.put("bar.baz", "bazValue");
-
-        val configuration = _Config.getConfiguration();
-
-        final IsisConfigurationLegacy subset = configuration.subsetWithNamesStripped("foo");
-
-        assertEquals("fozValue", subset.getString("foz"));
-        assertEquals("fazValue", subset.getString("faz"));
-
-        assertEquals(2, subset.copyToMap().size());
-
-
-    }
-
-}
diff --git a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_primingTest.java b/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_primingTest.java
deleted file mode 100644
index 1d5a259..0000000
--- a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_primingTest.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
-
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-
-import lombok.val;
-
-class IsisConfiguration_primingTest {
-
-    @BeforeEach
-    void setUp() {
-        _Config.clear();
-    }
-
-    @Test
-    void shouldReturnEmptyValue() {
-
-        val config = _Config.getConfiguration();
-        assertEquals(null, config.getString("test"));
-    }
-
-    @Test
-    void shouldNotAllowChangeAfterFinalizedConfig() {
-
-        @SuppressWarnings("unused")
-        val config = _Config.getConfiguration();
-
-        assertThrows(IllegalStateException.class, ()->{
-            _Config.put("test", "Hello World!");    
-        });
-    }
-
-    @Test
-    void shouldReturnPrimedValue() {
-
-        _Config.put("test", "Hello World!");
-
-        val config = _Config.getConfiguration();
-
-        assertEquals("Hello World!", config.getString("test"));
-    }
-
-}
diff --git a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_specialCharTest.java b/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_specialCharTest.java
deleted file mode 100644
index bcaad6d..0000000
--- a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_specialCharTest.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.apache.isis.core.config.unittestsupport.IsisConfigurationLegacy;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-
-class IsisConfiguration_specialCharTest {
-
-    IsisConfigurationLegacy configuration;
-
-    private static final String specialCharString =
-            "jdbc:sqlserver://HALCHILLBLAST;instance=.;databaseName=estatio";
-
-    @BeforeEach
-    void setUp() throws Exception {
-
-        _Config.clear();
-
-        _Config.put("properties.connectionString", specialCharString);
-
-        configuration = _Config.getConfiguration();
-
-    }
-
-    @Test
-    void testLeadingSpaces() {
-        assertEquals(specialCharString, configuration.getString("properties.connectionString"));
-    }
-
-}
diff --git a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_whitespaceTest.java b/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_whitespaceTest.java
deleted file mode 100644
index 3d84b04..0000000
--- a/core/config/src/test/java/org/apache/isis/core/config/IsisConfiguration_whitespaceTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.config;
-
-import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import org.apache.isis.core.config.unittestsupport.IsisConfigurationLegacy;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-
-class IsisConfiguration_whitespaceTest {
-
-    IsisConfigurationLegacy configuration;
-
-    @BeforeEach
-    void setUp() throws Exception {
-
-        _Config.clear();
-
-        _Config.put("properties.leadingSpaces", "  twoSpacesBeforeThis");
-        _Config.put("properties.leadingTab", "\toneTabBeforeThis");
-        _Config.put("properties.trailingSpaces", "twoSpacesAfterThis  ");
-        _Config.put("properties.trailingTab", "oneTabAfterThis\t");
-        _Config.put("properties.trailingTabAndSpaces", "oneTabAndTwoSpacesAfterThis\t  ");
-
-        configuration = _Config.getConfiguration();
-
-    }
-
-    @Test
-    void testLeadingSpaces() {
-        assertEquals("twoSpacesBeforeThis", configuration.getString("properties.leadingSpaces"));
-    }
-
-    @Test
-    void testLeadingTab() {
-        assertEquals("oneTabBeforeThis", configuration.getString("properties.leadingTab"));
-    }
-
-    @Test
-    void testTrailingSpaces() {
-        assertEquals("twoSpacesAfterThis", configuration.getString("properties.trailingSpaces"));
-    }
-
-    @Test
-    void testTrailingTab() {
-        assertEquals("oneTabAfterThis", configuration.getString("properties.trailingTab"));
-    }
-
-    @Test
-    void testTrailingTabSpaces() {
-        assertEquals("oneTabAndTwoSpacesAfterThis", configuration.getString("properties.trailingTabAndSpaces"));
-    }
-
-}
diff --git a/core/config/src/test/java/org/apache/isis/core/config/unittestsupport/internal/_Config.java b/core/config/src/test/java/org/apache/isis/core/config/unittestsupport/internal/_Config.java
index 5f225ba..b56c854 100644
--- a/core/config/src/test/java/org/apache/isis/core/config/unittestsupport/internal/_Config.java
+++ b/core/config/src/test/java/org/apache/isis/core/config/unittestsupport/internal/_Config.java
@@ -51,17 +51,17 @@ public class _Config {
 
     // -- PROPERTY ACCESS BEFORE FINALIZING CONFIG
 
-    public static void putAll(Map<String, String> map) {
-        properties().putAll(map);
-    }
-
-    public static void put(String key, String value) {
-        properties().put(key, value);
-    }
-
-    public static void put(String key, boolean value) {
-        properties().put(key, ""+value);
-    }
+//    public static void putAll(Map<String, String> map) {
+//        properties().putAll(map);
+//    }
+//
+//    public static void put(String key, String value) {
+//        properties().put(key, value);
+//    }
+//
+//    public static void put(String key, boolean value) {
+//        properties().put(key, ""+value);
+//    }
 
     // -- PROPERTY PEEKING
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_configTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_configTest.java
index 604ed48..9fabc4f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_configTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_configTest.java
@@ -20,15 +20,11 @@ package org.apache.isis.core.metamodel;
 
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
+import org.springframework.core.env.ConfigurableEnvironment;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.config.unittestsupport.IsisConfigurationLegacy;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-
-import lombok.val;
 
 class MetaModelContext_configTest {
 
@@ -36,42 +32,36 @@ class MetaModelContext_configTest {
     
     @BeforeEach
     void setUp() {
-        _Config.clear();
         mmc = MetaModelContext_forTesting.buildDefault();
     }
 
     @Test
     void shouldReturnEmptyValue() {
-
-        val config = config();
-        assertEquals(null, config.getString("test"));
-    }
-
-    @Test
-    void shouldNotAllowChangeAfterFinalizedConfig() {
-
-        @SuppressWarnings("unused")
-        val config = config();
-
-        assertThrows(IllegalStateException.class, ()->{
-            _Config.put("test", "Hello World!");    
-        });
+        assertEquals(null, environment().getProperty("test"));
     }
 
     @Test
-    void shouldReturnPrimedValue() {
-
-        _Config.put("test", "Hello World!");
+    void shouldAllowOverrideForTesting() {
 
-        val config = config();
+        mmcForTesting()
+        .runWithConfigProperties(
+            map->map.put("test", "Hello World!"),
+            ()->{
+                assertEquals("Hello World!", environment().getProperty("test"));
+            });
 
-        assertEquals("Hello World!", config.getString("test"));
+        // expected post condition
+        assertEquals(null, environment().getProperty("test"));
     }
 
     // -- HELPER
 
-    private IsisConfigurationLegacy config() {
-        return ((MetaModelContext_forTesting) mmc).getConfigurationLegacy();
+    private MetaModelContext_forTesting mmcForTesting() {
+        return ((MetaModelContext_forTesting) mmc);
     }
 
+    private ConfigurableEnvironment environment() {
+        return mmcForTesting().getConfiguration().getEnvironment();
+    }
+    
 }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_forTesting.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_forTesting.java
index a3885fd..57c008f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_forTesting.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/MetaModelContext_forTesting.java
@@ -20,6 +20,7 @@ package org.apache.isis.core.metamodel;
 
 import java.util.List;
 import java.util.Map;
+import java.util.function.Consumer;
 import java.util.stream.Stream;
 
 import static java.util.Objects.requireNonNull;
@@ -36,11 +37,11 @@ import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.applib.services.xactn.TransactionState;
 import org.apache.isis.core.commons.internal.base._NullSafe;
 import org.apache.isis.core.commons.internal.collections._Lists;
+import org.apache.isis.core.commons.internal.collections._Maps;
 import org.apache.isis.core.commons.internal.environment.IsisSystemEnvironment;
 import org.apache.isis.core.config.IsisConfiguration;
 import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
 import org.apache.isis.core.config.beans.IsisBeanTypeRegistryHolder;
-import org.apache.isis.core.config.unittestsupport.IsisConfigurationLegacy;
 import org.apache.isis.core.config.unittestsupport.internal._Config;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
@@ -114,11 +115,6 @@ public final class MetaModelContext_forTesting implements MetaModelContext {
 
     @Singular
     private List<Object> singletons;
-
-    //@Override
-    public IsisConfigurationLegacy getConfigurationLegacy() {
-        return _Config.getConfiguration();
-    }
     
     @Override
     public Stream<ManagedObject> streamServiceAdapters() {
@@ -147,7 +143,6 @@ public final class MetaModelContext_forTesting implements MetaModelContext {
     public Stream<Object> streamSingletons() {
 
         val fields = _Lists.of(
-                getConfigurationLegacy(),
                 getConfiguration(),
                 getObjectManager(),
                 getIsisBeanTypeRegistryHolder(),
@@ -273,6 +268,29 @@ public final class MetaModelContext_forTesting implements MetaModelContext {
         }
         return objectManager;
     }
+
+    public void runWithConfigProperties(Consumer<Map<String, String>> setup, Runnable runnable) {
+        val properties = _Maps.<String, String>newHashMap();
+        setup.accept(properties);
+        
+        val currentConfigBackup = this.configuration;
+        try {
+            
+            this.configuration = new IsisConfiguration(new AbstractEnvironment() {
+                @Override
+                public String getProperty(String key) {
+                    return properties.get(key);
+                }
+            });
+            
+            runnable.run();
+        } finally {
+            this.configuration = currentConfigBackup;
+        }
+        
+         
+                
+    }
     
 
 }
\ No newline at end of file
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 85cfcfb..0ae3987 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
@@ -30,8 +30,8 @@ import static org.junit.Assert.assertThat;
 import org.apache.isis.applib.RecreatableDomainObject;
 import org.apache.isis.applib.annotation.Nature;
 import org.apache.isis.applib.services.inject.ServiceInjector;
-import org.apache.isis.core.commons.internal.context._Context;
 import org.apache.isis.core.config.IsisConfiguration;
+import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.context.MetaModelContextAware;
@@ -41,8 +41,6 @@ import org.apache.isis.core.metamodel.progmodel.ProgrammingModelAbstract;
 import org.apache.isis.core.metamodel.progmodel.ProgrammingModelInitFilterDefault;
 import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorAbstract;
 import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 
 import lombok.val;
 
@@ -79,9 +77,6 @@ public class ViewModelSemanticCheckingFacetFactoryTest {
     @Before
     public void setUp() throws Exception {
 
-        _Context.clear();
-        _Config.clear();
-
         val configuration = new IsisConfiguration(null);
         configuration.getApplib().getAnnotation().getViewModel().getValidation().getSemanticChecking().setEnable(true);
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java
index 01bae00..0063a42 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/object/defaults/DefaultedFacetFactoryTest.java
@@ -21,10 +21,12 @@ package org.apache.isis.core.metamodel.facets.object.defaults;
 
 import org.apache.isis.applib.adapters.DefaultsProvider;
 import org.apache.isis.applib.annotation.Defaulted;
+import org.apache.isis.core.metamodel.MetaModelContext_forTesting;
 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.annotcfg.DefaultedFacetAnnotationElseConfigurationFactory;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
+
+import lombok.val;
 
 public class DefaultedFacetFactoryTest extends AbstractFacetFactoryTest {
 
@@ -138,8 +140,6 @@ public class DefaultedFacetFactoryTest extends AbstractFacetFactoryTest {
     }
 
     public void testDefaultedMustHaveANoArgConstructor() {
-        _Config.clear();
-
         facetFactory.process(new ProcessClassContext(MyDefaultedWithoutNoArgConstructor.class, methodRemover, facetedMethod));
         final DefaultedFacetAbstract facet = (DefaultedFacetAbstract) facetedMethod.getFacet(DefaultedFacet.class);
         assertNull(facet);
@@ -185,11 +185,19 @@ public class DefaultedFacetFactoryTest extends AbstractFacetFactoryTest {
 
     public void testDefaultedProviderNameCanBePickedUpFromConfiguration() {
 
-        final String className = "org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetFactoryTest$MyDefaultedWithDefaultsProviderSpecifiedUsingConfiguration";
-
-        _Config.clear();
-        _Config.put(DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX, className);
-        facetFactory.process(new ProcessClassContext(MyDefaultedWithDefaultsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
+        val className = "org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetFactoryTest$MyDefaultedWithDefaultsProviderSpecifiedUsingConfiguration";
+        val configKey = DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX;
+        
+        ((MetaModelContext_forTesting)metaModelContext)
+        .runWithConfigProperties(
+            map->map.put(configKey, className),
+            ()->{
+                
+                facetFactory.process(new ProcessClassContext(MyDefaultedWithDefaultsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));            
+                
+            });
+        
+        
         final DefaultedFacetAbstract facet = (DefaultedFacetAbstract) facetedMethod.getFacet(DefaultedFacet.class);
         assertNotNull(facet);
         assertEquals(MyDefaultedWithDefaultsProviderSpecifiedUsingConfiguration.class, facet.getDefaultsProviderClass());
@@ -211,11 +219,18 @@ public class DefaultedFacetFactoryTest extends AbstractFacetFactoryTest {
 
     public void testNonAnnotatedDefaultedCanBePickedUpFromConfiguration() {
 
-        final String className = "org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetFactoryTest$NonAnnotatedDefaultedDefaultsProviderSpecifiedUsingConfiguration";
+        val className = "org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacetFactoryTest$NonAnnotatedDefaultedDefaultsProviderSpecifiedUsingConfiguration";
+        val configKey = DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX; 
+        
+        ((MetaModelContext_forTesting)metaModelContext)
+        .runWithConfigProperties(
+            map->map.put(configKey, className),
+            ()->{
+                
+                facetFactory.process(new ProcessClassContext(NonAnnotatedDefaultedDefaultsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));            
+                
+            });
 
-        _Config.clear();
-        _Config.put(DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + DefaultsProviderUtil.DEFAULTS_PROVIDER_NAME_KEY_SUFFIX, className);
-        facetFactory.process(new ProcessClassContext(NonAnnotatedDefaultedDefaultsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
         final DefaultedFacetAbstract facet = (DefaultedFacetAbstract) facetedMethod.getFacet(DefaultedFacet.class);
         assertNotNull(facet);
         assertEquals(NonAnnotatedDefaultedDefaultsProviderSpecifiedUsingConfiguration.class, facet.getDefaultsProviderClass());
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 7c61f11..82c2254 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
@@ -72,7 +72,6 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
 
     @Before
     public void setUp() throws Exception {
-        _Config.clear();
         facetFactory = new DomainObjectAnnotationFacetFactory();
         facetFactory.setMetaModelContext(super.metaModelContext);
     }
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 bbebedf..5aa52ff 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
@@ -57,7 +57,6 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
     @Before
     public void setUp() throws Exception {
-        _Config.clear();
         facetFactory = new DomainObjectLayoutFacetFactory();
         facetFactory.setMetaModelContext(super.metaModelContext);
     }
@@ -109,7 +108,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
+
             }
 
             @Test
@@ -149,7 +148,7 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
+
             }
 
             @Test
@@ -197,13 +196,11 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
             }
 
             @Override
             @Before
             public void setUp() throws Exception {
-                _Config.clear();
                 super.setUp();
             }
 
@@ -282,7 +279,6 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
             }
 
 
@@ -363,7 +359,6 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
             }
 
             @Test
@@ -441,7 +436,6 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
             }
 
             @Test
@@ -519,7 +513,6 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
             }
 
             @Test
@@ -597,7 +590,6 @@ public class DomainObjectLayoutFactoryTest extends AbstractFacetFactoryJUnit4Tes
 
             @Before
             public void setUp2() throws Exception {
-                _Config.clear();
             }
 
             @Test
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 98066e3..b9922f8 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
@@ -24,6 +24,7 @@ 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.core.metamodel.MetaModelContext_forTesting;
 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;
@@ -35,7 +36,8 @@ import org.apache.isis.core.metamodel.facets.object.value.annotcfg.ValueFacetAnn
 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.config.unittestsupport.internal._Config;
+
+import lombok.val;
 
 public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFacetFactoryTest {
 
@@ -336,13 +338,16 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
     public void testSemanticsProviderNameCanBePickedUpFromConfiguration() {
 
         // given
-        final String className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$MyValueWithSemanticsProviderSpecifiedUsingConfiguration";
-
-        _Config.clear();
-        _Config.put(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className);
+        val className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$MyValueWithSemanticsProviderSpecifiedUsingConfiguration";
+        val configKey = ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX;
 
         // when
-        facetFactory.process(new ProcessClassContext(MyValueWithSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
+        ((MetaModelContext_forTesting)metaModelContext)
+        .runWithConfigProperties(
+            map->map.put(configKey, className),
+            ()->{
+                facetFactory.process(new ProcessClassContext(MyValueWithSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));                
+            });
 
         // then
         final ValueFacetAbstract facet = (ValueFacetAbstract) facetedMethod.getFacet(ValueFacet.class);
@@ -390,13 +395,17 @@ public class ValueFacetAnnotationOrConfigurationFactoryTest extends AbstractFace
     public void testNonAnnotatedValueCanPickUpSemanticsProviderFromConfiguration() {
 
         // given
-        final String className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration";
-        _Config.clear();
-        _Config.put(ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX, className);
+        val className = "org.apache.isis.core.metamodel.facets.object.value.ValueFacetAnnotationOrConfigurationFactoryTest$NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration";
+        val configKey = ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_PREFIX + canonical(className) + ValueSemanticsProviderUtil.SEMANTICS_PROVIDER_NAME_KEY_SUFFIX;
 
         // when
-        facetFactory.process(new ProcessClassContext(NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));
-
+        ((MetaModelContext_forTesting)metaModelContext)
+        .runWithConfigProperties(
+            map->map.put(configKey, className),
+            ()->{
+                
+                facetFactory.process(new ProcessClassContext(NonAnnotatedValueSemanticsProviderSpecifiedUsingConfiguration.class, methodRemover, facetedMethod));                
+            });
 
         // then
         final ValueFacetAbstract facet = (ValueFacetAbstract) facetedMethod.getFacet(ValueFacet.class);
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 c9b3fd5..085ccb1 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
@@ -166,7 +166,6 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
 
     @Before
     public void setUp() throws Exception {
-        _Config.clear();
         facetFactory = new PropertyAnnotationFacetFactory();
         facetFactory.setMetaModelContext(super.metaModelContext);
     }
@@ -382,7 +381,9 @@ public class PropertyAnnotationFacetFactoryTest extends AbstractFacetFactoryJUni
             }
 
             // given
-            _Config.put("isis.core.meta-model.annotation.property.domain-event.post-for-default", true);
+            //_Config.put("isis.core.meta-model.annotation.property.domain-event.post-for-default", true);
+            assertTrue(metaModelContext.getConfiguration()
+                    .getApplib().getAnnotation().getDomainObject().getCreatedLifecycleEvent().isPostForDefault());
 
             final Class<?> cls = Customer.class;
             propertyMethod = findMethod(Customer.class, "getName");
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
index 7918946..fed8658 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigDecimalValueSemanticsProviderTest.java
@@ -45,7 +45,7 @@ public class BigDecimalValueSemanticsProviderTest extends ValueSemanticsProvider
     public void setUp() throws Exception {
         super.setUp();
 
-        _Config.put("isis.value.format.decimal", null);
+        //_Config.put("isis.value.format.decimal", null);
 
         bigDecimal = new BigDecimal("34132.199");
         allowMockAdapterToReturn(bigDecimal);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
index 3d5d5b4..5d9352a 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/BigIntValueSemanticsProviderTest.java
@@ -27,12 +27,11 @@ import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import org.apache.isis.core.metamodel.facets.value.biginteger.BigIntegerValueSemanticsProvider;
 import org.apache.isis.core.metamodel.context.MetaModelContextAware;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.core.metamodel.facets.object.parseable.TextEntryParseException;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
+import org.apache.isis.core.metamodel.facets.value.biginteger.BigIntegerValueSemanticsProvider;
 
 public class BigIntValueSemanticsProviderTest extends ValueSemanticsProviderAbstractTestCase {
 
@@ -46,7 +45,7 @@ public class BigIntValueSemanticsProviderTest extends ValueSemanticsProviderAbst
         bigInt = new BigInteger("132199");
         allowMockAdapterToReturn(bigInt);
 
-        _Config.put("isis.value.format.int", null);
+        //_Config.put("isis.value.format.int", null);
 
         holder = new FacetHolderImpl();
         ((MetaModelContextAware)holder).setMetaModelContext(super.metaModelContext);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
index 7ac38b2..7aba076 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ByteValueSemanticsProviderTest.java
@@ -47,7 +47,7 @@ public class ByteValueSemanticsProviderTest extends ValueSemanticsProviderAbstra
         holder = new FacetHolderImpl();
         ((MetaModelContextAware)holder).setMetaModelContext(super.metaModelContext);
 
-        _Config.put("isis.value.format.byte", null);
+        //_Config.put("isis.value.format.byte", null);
 
         setValue(value = new ByteWrapperValueSemanticsProvider(holder));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
index 36b1f37..6ab70be 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/DoubleValueSemanticsProviderTest.java
@@ -41,7 +41,7 @@ public class DoubleValueSemanticsProviderTest extends ValueSemanticsProviderAbst
     @Before
     public void setUpObjects() throws Exception {
 
-        _Config.put("isis.value.format.double", null);
+        //_Config.put("isis.value.format.double", null);
 
         holder = new FacetHolderImpl();
         ((MetaModelContextAware)holder).setMetaModelContext(super.metaModelContext);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
index db9fa86..54a1bbc 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/FloatValueSemanticsProviderTest.java
@@ -42,7 +42,7 @@ public class FloatValueSemanticsProviderTest extends ValueSemanticsProviderAbstr
     @Before
     public void setUpObjects() throws Exception {
 
-        _Config.put("isis.value.format.float", null);
+        //_Config.put("isis.value.format.float", null);
 
         float1 = Float.valueOf(32.5f);
         allowMockAdapterToReturn(float1);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
index d3924bd..a95a95b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/IntValueSemanticsProviderTest.java
@@ -44,7 +44,7 @@ public class IntValueSemanticsProviderTest extends ValueSemanticsProviderAbstrac
         integer = Integer.valueOf(32);
         allowMockAdapterToReturn(integer);
 
-        _Config.put("isis.value.format.int", null);
+        //_Config.put("isis.value.format.int", null);
 
         holder = new FacetHolderImpl();
         ((MetaModelContextAware)holder).setMetaModelContext(super.metaModelContext);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
index cfe16c5..983d006 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlDateValueSemanticsProviderTest.java
@@ -47,7 +47,7 @@ public class JavaSqlDateValueSemanticsProviderTest extends ValueSemanticsProvide
     @Before
     public void setUpObjects() throws Exception {
 
-        _Config.put("isis.value.format.date", null);
+        //_Config.put("isis.value.format.date", null);
 
         TestClock.initialize();
         date = new Date(0);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java
index b1a87ac..b051b5f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaSqlTimeValueSemanticsProviderTest.java
@@ -44,7 +44,7 @@ public class JavaSqlTimeValueSemanticsProviderTest extends ValueSemanticsProvide
     @Before
     public void setUpObjects() throws Exception {
 
-        _Config.put("isis.value.format.time", null);
+        //_Config.put("isis.value.format.time", null);
 
         final Calendar c = Calendar.getInstance();
         c.setTimeZone(TimeZone.getTimeZone("GMT"));
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
index 1a4954d..5146974 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/JavaUtilDateValueSemanticsProviderTest.java
@@ -45,7 +45,7 @@ public class JavaUtilDateValueSemanticsProviderTest extends ValueSemanticsProvid
     @Before
     public void setUpObjects() throws Exception {
 
-        _Config.put("isis.value.format.datetime", null);
+        //_Config.put("isis.value.format.datetime", null);
 
         TestClock.initialize();
         date = new java.util.Date(0);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
index 3a72734..a2fff31 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/LongValueSemanticsProviderTest.java
@@ -47,7 +47,7 @@ public class LongValueSemanticsProviderTest extends ValueSemanticsProviderAbstra
         holder = new FacetHolderImpl();
         ((MetaModelContextAware)holder).setMetaModelContext(super.metaModelContext);
 
-        _Config.put("isis.value.format.long", null);
+        //_Config.put("isis.value.format.long", null);
 
         setValue(value = new LongWrapperValueSemanticsProvider(holder));
     }
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
index 0d20cca..64addcf 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ShortValueSemanticsProviderTest.java
@@ -42,7 +42,7 @@ public class ShortValueSemanticsProviderTest extends ValueSemanticsProviderAbstr
     @Before
     public void setUpObjects() throws Exception {
 
-        _Config.put("isis.value.format.short", null);
+        //_Config.put("isis.value.format.short", null);
 
         short1 = Short.valueOf((short) 32);
         allowMockAdapterToReturn(short1);
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 4eae6e3..0f18133 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
@@ -68,7 +68,7 @@ public abstract class ValueSemanticsProviderAbstractTestCase {
     @Before
     public void setUp() throws Exception {
 
-        _Config.clear();
+        //_Config.clear();
         Locale.setDefault(Locale.UK);
 
         metaModelContext = MetaModelContext_forTesting.builder()
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java
index 20cd556..ee6b0ca 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/datetimejodalocal/JodaLocalDateTimeValueSemanticsProviderTest.java
@@ -30,10 +30,9 @@ import static org.hamcrest.CoreMatchers.is;
 import static org.junit.Assert.assertThat;
 
 import org.apache.isis.applib.services.inject.ServiceInjector;
+import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.metamodel.MetaModelContext_forTesting;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 
 public class JodaLocalDateTimeValueSemanticsProviderTest {
 
@@ -49,8 +48,7 @@ public class JodaLocalDateTimeValueSemanticsProviderTest {
     @Before
     public void setUp() throws Exception {
 
-        _Config.clear();
-        _Config.put("isis.value.format.datetime", "iso_encoding");
+//        _Config.put("isis.value.format.datetime", "iso_encoding");
         
         metaModelContext = MetaModelContext_forTesting.builder()
                 .build();
diff --git a/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault_wrappedObject_Test.java b/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault_wrappedObject_Test.java
index 90c53a8..898e80a 100644
--- a/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault_wrappedObject_Test.java
+++ b/core/runtimeservices/src/test/java/org/apache/isis/core/runtimeservices/wrapper/WrapperFactoryDefault_wrappedObject_Test.java
@@ -34,6 +34,7 @@ import org.junit.rules.ExpectedException;
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.notNullValue;
 import static org.junit.Assert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.Command.Executor;
@@ -46,7 +47,6 @@ import org.apache.isis.applib.services.wrapper.InvalidException;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.core.codegen.bytebuddy.services.ProxyFactoryServiceByteBuddy;
 import org.apache.isis.core.commons.internal.plugins.codegen.ProxyFactoryService;
-import org.apache.isis.core.config.unittestsupport.internal._Config;
 import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2;
 import org.apache.isis.core.internaltestsupport.jmocking.JUnitRuleMockery2.Mode;
 import org.apache.isis.core.metamodel.MetaModelContext_forTesting;
@@ -292,11 +292,12 @@ public class WrapperFactoryDefault_wrappedObject_Test {
     @Test
     public void shouldBeAbleToReadVisibleProperty() {
 
-        _Config.clear();
-
         allowingEmployeeHasSmithAdapter();
 
-        _Config.put("isis.core.meta-model.filter-visibility", true);
+        //_Config.put("isis.core.meta-model.filter-visibility", true);
+        
+        assertTrue(
+                metaModelContext.getConfiguration().getCore().getMetaModel().isFilterVisibility());
 
         context.checking(new Expectations() {{
 
@@ -333,11 +334,12 @@ public class WrapperFactoryDefault_wrappedObject_Test {
     @Test
     public void shouldBeAbleToModifyEnabledPropertyUsingSetter() {
 
-        _Config.clear();
-
         allowingJonesStringValueAdapter();
 
-        _Config.put("isis.core.meta-model.filter-visibility", true);
+        //_Config.put("isis.core.meta-model.filter-visibility", true);
+        
+        assertTrue(
+                metaModelContext.getConfiguration().getCore().getMetaModel().isFilterVisibility());
 
         context.checking(new Expectations() {
             {
diff --git a/legacy/extensions/core/metamodel/src/test/java/org/apache/isis/legacy/metamodel/facets/value/PercentageValueSemanticsProviderTest.java b/legacy/extensions/core/metamodel/src/test/java/org/apache/isis/legacy/metamodel/facets/value/PercentageValueSemanticsProviderTest.java
index fa23222..f6a33d8 100644
--- a/legacy/extensions/core/metamodel/src/test/java/org/apache/isis/legacy/metamodel/facets/value/PercentageValueSemanticsProviderTest.java
+++ b/legacy/extensions/core/metamodel/src/test/java/org/apache/isis/legacy/metamodel/facets/value/PercentageValueSemanticsProviderTest.java
@@ -25,13 +25,12 @@ import org.junit.Test;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 
-import org.apache.isis.core.config.unittestsupport.internal._Config;
-import org.apache.isis.legacy.applib.value.Percentage;
-import org.apache.isis.legacy.metamodel.facets.value.percentage.PercentageValueSemanticsProvider;
 import org.apache.isis.core.metamodel.context.MetaModelContextAware;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetHolderImpl;
 import org.apache.isis.core.metamodel.facets.value.ValueSemanticsProviderAbstractTestCase;
+import org.apache.isis.legacy.applib.value.Percentage;
+import org.apache.isis.legacy.metamodel.facets.value.percentage.PercentageValueSemanticsProvider;
 
 public class PercentageValueSemanticsProviderTest extends ValueSemanticsProviderAbstractTestCase {
     private PercentageValueSemanticsProvider adapter;
@@ -41,7 +40,7 @@ public class PercentageValueSemanticsProviderTest extends ValueSemanticsProvider
     @Before
     public void setUpObjects() throws Exception {
 
-        _Config.put("isis.value.format.percentage", null);
+        //_Config.put("isis.value.format.percentage", null);
 
         percentage = new Percentage(0.105f);
         allowMockAdapterToReturn(percentage);
diff --git a/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java b/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
index 891bc36..0da88a9 100644
--- a/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
+++ b/viewers/restfulobjects/viewer/src/test/java/org/apache/isis/viewer/restfulobjects/viewer/context/ResourceContext_getArg_Test.java
@@ -39,7 +39,10 @@ import org.apache.isis.core.metamodel.context.MetaModelContext;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.runtime.persistence.session.PersistenceSession;
 import org.apache.isis.core.runtime.session.IsisSession;
+import org.apache.isis.core.runtime.session.IsisSessionFactory;
+import org.apache.isis.core.runtime.session.IsisSessionTracker;
 import org.apache.isis.core.security.authentication.AuthenticationSession;
+import org.apache.isis.core.security.authentication.manager.AuthenticationManager;
 import org.apache.isis.viewer.restfulobjects.applib.JsonRepresentation;
 import org.apache.isis.viewer.restfulobjects.applib.RepresentationType;
 import org.apache.isis.viewer.restfulobjects.applib.RestfulRequest.RequestParameter;
@@ -53,6 +56,9 @@ public class ResourceContext_getArg_Test {
     @Mock HttpServletRequest mockHttpServletRequest;
     @Mock ServletContext mockServletContext;
     @Mock IsisSession mockIsisSession;
+    @Mock IsisSessionFactory mockIsisSessionFactory;
+    @Mock IsisSessionTracker mockIsisSessionTracker;
+    @Mock AuthenticationManager mockAuthenticationManager;
     @Mock AuthenticationSession mockAuthenticationSession;
     @Mock PersistenceSession mockPersistenceSession;
     @Mock SpecificationLoader mockSpecificationLoader;
@@ -68,6 +74,9 @@ public class ResourceContext_getArg_Test {
 
         metaModelContext = MetaModelContext_forTesting.builder()
                 .specificationLoader(mockSpecificationLoader)
+                .singleton(mockIsisSessionFactory)
+                .singleton(mockAuthenticationManager)
+                .singleton(mockIsisSessionTracker)
                 //                .serviceInjector(mockServiceInjector)
                 //                .serviceRegistry(mockServiceRegistry)
                 //                .translationService(mockTranslationService)