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

[isis] 02/08: ISIS-2450: fixes unit tests

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

danhaywood pushed a commit to branch release-2.0.0-M5-RC1
in repository https://gitbox.apache.org/repos/asf/isis.git

commit f002e71f5ed9bfd78a690f87138ee9c49c5d1fc0
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Mar 18 20:22:12 2021 +0000

    ISIS-2450: fixes unit tests
---
 .../org/apache/isis/core/config/IsisConfiguration.java | 12 ------------
 .../extensions/cors/impl/IsisModuleExtCorsImpl.java    | 18 ++++++++++++------
 .../cors/impl/IsisModuleExtCorsImplTest.java           | 15 +++++++++------
 3 files changed, 21 insertions(+), 24 deletions(-)

diff --git a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
index 2b5108d..3721f56 100644
--- a/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/core/config/IsisConfiguration.java
@@ -100,18 +100,6 @@ public class IsisConfiguration {
         this.environment = environment;
     }
 
-    @Inject @Named("isis-settings")
-    @Getter(AccessLevel.PRIVATE) private Map<String, String> isisSettings;
-    /**
-     * All of the isis configuration properties, gathered together as an immutable map.
-     */
-    public Map<String, String> getAsMap() {
-        return isisSettings!=null
-                ? Collections.unmodifiableMap(isisSettings)
-                : Collections.emptyMap();
-    }
-
-
     private final Security security = new Security();
     @Data
     public static class Security {
diff --git a/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java b/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
index 76df208..74cb3dc 100644
--- a/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
+++ b/extensions/vro/cors/impl/src/main/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImpl.java
@@ -34,6 +34,7 @@ import org.springframework.web.filter.CorsFilter;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.core.config.IsisConfiguration;
+import org.apache.isis.core.config.RestEasyConfiguration;
 
 import lombok.val;
 import lombok.extern.log4j.Log4j2;
@@ -48,18 +49,23 @@ import lombok.extern.log4j.Log4j2;
 public class IsisModuleExtCorsImpl {
 
     @Bean
-    public FilterRegistrationBean<Filter> createCorsFilterRegistration(IsisConfiguration configuration) {
-
-        final Map<String, String> cfgMap = configuration.getAsMap();
-        final String resteasyBase = cfgMap.getOrDefault("resteasy.jaxrs.defaultPath", "/restful/*");
+    public FilterRegistrationBean<Filter> createCorsFilterRegistration(
+            final IsisConfiguration isisConfiguration,
+            final RestEasyConfiguration restEasyConfiguration) {
+
+        String resteasyBase = restEasyConfiguration.getJaxrs().getDefaultPath();
+        if(!resteasyBase.endsWith("/*")) {
+            resteasyBase = resteasyBase + "/*";
+        }
         log.info("Setting up CORS to filter resteasy-base at '{}' with {}",
                 resteasyBase,
-                configuration.getExtensions().getCors());
+                isisConfiguration.getExtensions().getCors());
 
         final FilterRegistrationBean<Filter> filterRegistrationBean = new FilterRegistrationBean<>();
-        filterRegistrationBean.setFilter(createCorsFilter(configuration));
+        filterRegistrationBean.setFilter(createCorsFilter(isisConfiguration));
         filterRegistrationBean.setUrlPatterns(Collections.singletonList(resteasyBase));
         filterRegistrationBean.setOrder(OrderPrecedence.EARLY - 100);
+
         return filterRegistrationBean;
     }
 
diff --git a/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java b/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java
index 4d213eb..b8ffcd9 100644
--- a/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java
+++ b/extensions/vro/cors/impl/src/test/java/org/apache/isis/extensions/cors/impl/IsisModuleExtCorsImplTest.java
@@ -24,6 +24,7 @@ import org.junit.jupiter.api.Test;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import org.apache.isis.core.config.IsisConfiguration;
+import org.apache.isis.core.config.RestEasyConfiguration;
 import org.apache.isis.core.metamodel._testing.MetaModelContext_forTesting;
 
 import lombok.val;
@@ -31,24 +32,26 @@ import lombok.val;
 class IsisModuleExtCorsImplTest {
 
     private IsisConfiguration isisDefaultConfiguration;
-    
+    private RestEasyConfiguration restEasyConfiguration;
+
     @BeforeEach
     void setUp() {
         isisDefaultConfiguration = MetaModelContext_forTesting
                 .buildDefault()
                 .getConfiguration();
+        restEasyConfiguration = new RestEasyConfiguration();
     }
-    
+
     @Test
     void defaultIsisConfiguration_shouldYieldCorsUrlPatternWithWildcard() {
         // given
         val isisModuleExtCorsImpl = new IsisModuleExtCorsImpl();
-        
+
         // when
-        val filterRegistration = isisModuleExtCorsImpl.createCorsFilterRegistration(isisDefaultConfiguration);
-        
+        val filterRegistration = isisModuleExtCorsImpl.createCorsFilterRegistration(isisDefaultConfiguration, restEasyConfiguration);
+
         // then
         assertTrue(filterRegistration.getUrlPatterns().contains("/restful/*"));
     }
 
-}
\ No newline at end of file
+}