aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomek Kaminski <tomasz.kaminski@nokia.com>2019-04-11 10:31:12 +0200
committerTomek Kaminski <tomasz.kaminski@nokia.com>2019-04-11 12:14:38 +0200
commit974ca909fd004351024e36d6e91169d90b3419e7 (patch)
tree8a20be7c2f847c701249db55e46055ee49066e78
parent0654d98f69b80b8d932dd33a5dcc56dbecc6a64e (diff)
Fix for loading cadi properties
Change-Id: I5b6115b8bf7dc0b9cde67e2983f2aad6781bd475 Issue-ID: DMAAP-1158 Signed-off-by: Tomek Kaminski <tomasz.kaminski@nokia.com>
-rw-r--r--src/main/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilter.java16
-rw-r--r--src/test/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilterTest.java21
-rw-r--r--src/test/resources/cadi.properties0
3 files changed, 33 insertions, 4 deletions
diff --git a/src/main/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilter.java b/src/main/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilter.java
index 8739511..c5c29fa 100644
--- a/src/main/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilter.java
+++ b/src/main/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilter.java
@@ -21,7 +21,9 @@ package org.onap.dmaap.dbcapi.resources;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
+import java.io.FileInputStream;
import java.io.IOException;
+import java.util.Properties;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
@@ -98,7 +100,7 @@ public class AAFAuthenticationFilter implements Filter {
try {
String cadiPropertiesFile = dmaapConfig.getProperty(CADI_PROPERTIES);
if(cadiPropertiesFile != null && !cadiPropertiesFile.isEmpty()) {
- cadiFilter = new CadiFilter(new PropAccess(cadiPropertiesFile));
+ cadiFilter = new CadiFilter(loadCadiProperties(cadiPropertiesFile));
} else {
throw new ServletException("Cannot initialize CADI filter.CADI properties not available.");
}
@@ -109,6 +111,18 @@ public class AAFAuthenticationFilter implements Filter {
}
}
+ private PropAccess loadCadiProperties(String propertiesFilePath) throws ServletException {
+ try {
+ Properties props = new Properties();
+ props.load(new FileInputStream(propertiesFilePath));
+ return new PropAccess(props);
+ } catch (IOException e) {
+ String msg = "Could not load CADI properties file: " + propertiesFilePath;
+ LOGGER.error(msg, e);
+ throw new ServletException(msg);
+ }
+ }
+
DmaapConfig getConfig() {
return (DmaapConfig) DmaapConfig.getConfig();
}
diff --git a/src/test/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilterTest.java b/src/test/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilterTest.java
index d5ae5fd..53c8021 100644
--- a/src/test/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilterTest.java
+++ b/src/test/java/org/onap/dmaap/dbcapi/resources/AAFAuthenticationFilterTest.java
@@ -118,10 +118,25 @@ public class AAFAuthenticationFilterTest {
}
@Test
- public void init_shouldInitializeCADI_whenAafIsUsed_andCadiPropertiesSet() throws Exception {
+ public void init_shouldFail_whenAafIsUsed_andInvalidCadiPropertiesSet() throws Exception {
//given
+ String invalidFilePath = "src/test/resources/notExisting.properties";
doReturn("true").when(dmaapConfig).getProperty(eq(AAFAuthenticationFilter.AAF_AUTHN_FLAG), anyString());
- doReturn("cadi.properties").when(dmaapConfig).getProperty(AAFAuthenticationFilter.CADI_PROPERTIES);
+ doReturn(invalidFilePath).when(dmaapConfig).getProperty(AAFAuthenticationFilter.CADI_PROPERTIES);
+
+ //then
+ thrown.expect(ServletException.class);
+ thrown.expectMessage("Could not load CADI properties file: "+invalidFilePath);
+
+ //when
+ filter.init(filterConfig);
+ }
+
+ @Test
+ public void init_shouldInitializeCADI_whenAafIsUsed_andValidCadiPropertiesSet() throws Exception {
+ //given
+ doReturn("true").when(dmaapConfig).getProperty(eq(AAFAuthenticationFilter.AAF_AUTHN_FLAG), anyString());
+ doReturn("src/test/resources/cadi.properties").when(dmaapConfig).getProperty(AAFAuthenticationFilter.CADI_PROPERTIES);
//when
filter.init(filterConfig);
@@ -170,7 +185,7 @@ public class AAFAuthenticationFilterTest {
private void initCADIFilter() throws Exception{
doReturn("true").when(dmaapConfig).getProperty(eq(AAFAuthenticationFilter.AAF_AUTHN_FLAG), anyString());
- doReturn("cadi.properties").when(dmaapConfig).getProperty(AAFAuthenticationFilter.CADI_PROPERTIES);
+ doReturn("src/test/resources/cadi.properties").when(dmaapConfig).getProperty(AAFAuthenticationFilter.CADI_PROPERTIES);
filter.init(filterConfig);
filter.setCadiFilter(cadiFilterMock);
}
diff --git a/src/test/resources/cadi.properties b/src/test/resources/cadi.properties
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/test/resources/cadi.properties