diff options
Diffstat (limited to 'prh-app-server/src')
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java | 8 | ||||
-rw-r--r-- | prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java | 25 | ||||
-rw-r--r-- | prh-app-server/src/main/resources/application.properties | 17 | ||||
-rw-r--r-- | prh-app-server/src/main/resources/application.yaml | 19 | ||||
-rw-r--r-- | prh-app-server/src/main/resources/keystore-local (renamed from prh-app-server/src/main/resources/keystore.jks) | bin | 2643 -> 2643 bytes | |||
-rw-r--r-- | prh-app-server/src/main/resources/keystore-onap | bin | 0 -> 2196 bytes | |||
-rw-r--r-- | prh-app-server/src/main/resources/keystore.jks.old | bin | 2272 -> 0 bytes | |||
-rw-r--r-- | prh-app-server/src/main/resources/prh_endpoints.json | 47 | ||||
-rw-r--r-- | prh-app-server/src/main/resources/scheduled-context.xml | 16 | ||||
-rw-r--r-- | prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java | 39 |
10 files changed, 104 insertions, 67 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java index 10626a32..e598b4b3 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CloudConfiguration.java @@ -89,7 +89,8 @@ public class CloudConfiguration extends AppConfig { LOGGER.info("Received application configuration: {}", jsonObject); CloudConfigParser cloudConfigParser = new CloudConfigParser(jsonObject); dmaapPublisherCloudConfiguration = cloudConfigParser.getDmaapPublisherConfig(); - aaiClientCloudConfiguration = cloudConfigParser.getAaiClientConfig(); + aaiClientCloudConfiguration = ImmutableAaiClientConfiguration.copyOf(cloudConfigParser.getAaiClientConfig()) + .withAaiHeaders(aaiClientConfiguration.aaiHeaders()); dmaapConsumerCloudConfiguration = cloudConfigParser.getDmaapConsumerConfig(); } @@ -100,11 +101,10 @@ public class CloudConfiguration extends AppConfig { @Override public AaiClientConfiguration getAaiClientConfiguration() { - return Optional.ofNullable(ImmutableAaiClientConfiguration.copyOf(aaiClientCloudConfiguration) - .withAaiHeaders(aaiClientConfiguration.aaiHeaders())) - .orElse(ImmutableAaiClientConfiguration.copyOf(super.getAaiClientConfiguration())); + return Optional.ofNullable(aaiClientCloudConfiguration).orElse(super.getAaiClientConfiguration()); } + @Override public DmaapConsumerConfiguration getDmaapConsumerConfiguration() { return Optional.ofNullable(dmaapConsumerCloudConfiguration).orElse(super.getDmaapConsumerConfiguration()); diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java index 03d24382..882e4d7e 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java @@ -36,7 +36,6 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.ServiceLoader; -import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import org.onap.dcaegen2.services.prh.config.AaiClientConfiguration; import org.onap.dcaegen2.services.prh.config.DmaapConsumerConfiguration; @@ -44,9 +43,11 @@ import org.onap.dcaegen2.services.prh.config.DmaapPublisherConfiguration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.slf4j.MDC; +import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Configuration; +import org.springframework.core.io.Resource; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/9/18 @@ -71,9 +72,8 @@ public abstract class PrhAppConfig implements Config { DmaapPublisherConfiguration dmaapPublisherConfiguration; - @NotEmpty - private String filepath; - + @Value("classpath:prh_endpoints.json") + private Resource resourceFile; @Override public DmaapConsumerConfiguration getDmaapConsumerConfiguration() { @@ -97,7 +97,8 @@ public abstract class PrhAppConfig implements Config { ServiceLoader.load(TypeAdapterFactory.class).forEach(gsonBuilder::registerTypeAdapterFactory); JsonParser parser = new JsonParser(); JsonObject jsonObject; - try (InputStream inputStream = getInputStream(filepath)) { + + try (InputStream inputStream = resourceFile.getInputStream()) { JsonElement rootElement = getJsonElement(parser, inputStream); if (rootElement.isJsonObject()) { jsonObject = rootElement.getAsJsonObject(); @@ -114,7 +115,7 @@ public abstract class PrhAppConfig implements Config { DmaapPublisherConfiguration.class); } } catch (IOException e) { - LOGGER.warn("Problem with file loading, file: {}", filepath, e); + LOGGER.warn("Problem with file loading, file ", e); } catch (JsonSyntaxException e) { LOGGER.warn("Problem with Json deserialization", e); } @@ -129,16 +130,12 @@ public abstract class PrhAppConfig implements Config { return gsonBuilder.create().fromJson(jsonObject, type); } - InputStream getInputStream(@NotNull String filepath) throws IOException { - return new BufferedInputStream(new FileInputStream(filepath)); - } - - String getFilepath() { - return this.filepath; + void setResourceFile(Resource resourceFile) { + this.resourceFile = resourceFile; } - public void setFilepath(String filepath) { - this.filepath = filepath; + InputStream getInputStream(@NotNull String filepath) throws IOException { + return new BufferedInputStream(new FileInputStream(filepath)); } public void setXOnapRequestId(String xonaprequestid) { diff --git a/prh-app-server/src/main/resources/application.properties b/prh-app-server/src/main/resources/application.properties deleted file mode 100644 index e343a360..00000000 --- a/prh-app-server/src/main/resources/application.properties +++ /dev/null @@ -1,17 +0,0 @@ -spring.profiles.active=prod -server.port=8433 -server.ssl.key-store-type=PKCS12 -server.ssl.key-store-password=nokiapnf -server.ssl.key-store=classpath:keystore.jks -server.ssl.key-password=nokiapnf -server.ssl.key-alias=tomcat-localhost -logging.level.root=ERROR -logging.level.org.springframework=ERROR -logging.level.org.springframework.data=ERROR -logging.level.org.onap.dcaegen2.services.prh=INFO -logging.level.org.springframework.web.reactive=WARN -logging.level.reactor.ipc.netty.http.client=WARN -app.filepath=config/prh_endpoints.json -app.xonaprequestid=requestID -app.xinvocationid=invocationID - diff --git a/prh-app-server/src/main/resources/application.yaml b/prh-app-server/src/main/resources/application.yaml new file mode 100644 index 00000000..88d1e401 --- /dev/null +++ b/prh-app-server/src/main/resources/application.yaml @@ -0,0 +1,19 @@ +spring: + profiles: + active: prod +server: + port: 8433 + ssl: + key-store-type: PKCS12 + key-store-password: nokiapnf + key-store: classpath:keystore-local + key-password: nokiapnf + keyAlias: tomcat-localhost +logging: + level: + ROOT: ERROR + org.onap.dcaegen2.services.prh: INFO + reactor.ipc.netty.http.client: WARN + org.springframework: ERROR + org.springframework.data: ERROR + org.springframework.web.reactive: WARN diff --git a/prh-app-server/src/main/resources/keystore.jks b/prh-app-server/src/main/resources/keystore-local Binary files differindex cd27cc01..cd27cc01 100644 --- a/prh-app-server/src/main/resources/keystore.jks +++ b/prh-app-server/src/main/resources/keystore-local diff --git a/prh-app-server/src/main/resources/keystore-onap b/prh-app-server/src/main/resources/keystore-onap Binary files differnew file mode 100644 index 00000000..26a16f75 --- /dev/null +++ b/prh-app-server/src/main/resources/keystore-onap diff --git a/prh-app-server/src/main/resources/keystore.jks.old b/prh-app-server/src/main/resources/keystore.jks.old Binary files differdeleted file mode 100644 index 8a2b4f99..00000000 --- a/prh-app-server/src/main/resources/keystore.jks.old +++ /dev/null diff --git a/prh-app-server/src/main/resources/prh_endpoints.json b/prh-app-server/src/main/resources/prh_endpoints.json new file mode 100644 index 00000000..b3bff7d9 --- /dev/null +++ b/prh-app-server/src/main/resources/prh_endpoints.json @@ -0,0 +1,47 @@ +{ + "configs": { + "dmaap": { + "dmaapConsumerConfiguration": { + "dmaapHostName": "localhost", + "dmaapPortNumber": 2222, + "dmaapTopicName": "/events/unauthenticated.VES_PNFREG_OUTPUT", + "dmaapProtocol": "http", + "dmaapUserName": "admin", + "dmaapUserPassword": "admin", + "dmaapContentType": "application/json", + "consumerId": "c12", + "consumerGroup": "OpenDcae-c12", + "timeoutMs": -1, + "messageLimit": 1 + }, + "dmaapProducerConfiguration": { + "dmaapHostName": "localhost", + "dmaapPortNumber": 2223, + "dmaapTopicName": "/events/unauthenticated.PNF_READY", + "dmaapProtocol": "http", + "dmaapUserName": "admin", + "dmaapUserPassword": "admin", + "dmaapContentType": "application/json" + } + }, + "aai": { + "aaiClientConfiguration": { + "aaiHost": "localhost", + "aaiPort": 8080, + "aaiProtocol": "https", + "aaiUserName": "AAI", + "aaiUserPassword": "AAI", + "aaiIgnoreSslCertificateErrors": true, + "aaiBasePath": "/aai/v12", + "aaiPnfPath": "/network/pnfs/pnf", + "aaiHeaders": { + "X-FromAppId": "prh", + "X-TransactionId": "9999", + "Accept": "application/json", + "Real-Time": "true", + "Content-Type": "application/merge-patch+json" + } + } + } + } +}
\ No newline at end of file diff --git a/prh-app-server/src/main/resources/scheduled-context.xml b/prh-app-server/src/main/resources/scheduled-context.xml deleted file mode 100644 index 82067c17..00000000 --- a/prh-app-server/src/main/resources/scheduled-context.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<beans xmlns:context="http://www.springframework.org/schema/context" - xmlns:task="http://www.springframework.org/schema/task" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns="http://www.springframework.org/schema/beans" - xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.0.xsd - http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd - http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"> - - <context:component-scan - base-package="org.onap.dcaegen2.services.prh"/> - <task:scheduled-tasks> - <task:scheduled fixed-rate="1000" method="startTasks" - ref="scheduleController"/> - </task:scheduled-tasks> -</beans> diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java index 8ad2a94f..01866309 100644 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java +++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfigTest.java @@ -41,6 +41,8 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.onap.dcaegen2.services.prh.integration.junit5.mockito.MockitoExtension; +import org.springframework.core.io.InputStreamResource; +import org.springframework.core.io.Resource; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/9/18 @@ -78,8 +80,16 @@ class PrhAppConfigTest { private static PrhAppConfig prhAppConfig; private static AppConfig appConfig; - private static String filePath = Objects - .requireNonNull(PrhAppConfigTest.class.getClassLoader().getResource(PRH_ENDPOINTS)).getFile(); + private static InputStream inputStream; + + static { + try { + inputStream = Objects + .requireNonNull(PrhAppConfigTest.class.getClassLoader().getResource(PRH_ENDPOINTS)).openStream(); + } catch (IOException e) { + e.printStackTrace(); + } + } @BeforeEach void setUp() { @@ -88,17 +98,15 @@ class PrhAppConfigTest { } @Test - void whenApplicationWasStarted_FilePathIsSet() { + void whenApplicationWasStarted_FilePathIsSet() throws IOException { // // When // - prhAppConfig.setFilepath(filePath); + doReturn(inputStream).when(prhAppConfig).getInputStream(anyString()); // // Then // - verify(prhAppConfig, times(1)).setFilepath(anyString()); verify(prhAppConfig, times(0)).initFileStreamReader(); - Assertions.assertEquals(filePath, prhAppConfig.getFilepath()); } @Test @@ -112,7 +120,7 @@ class PrhAppConfigTest { // // When // - prhAppConfig.setFilepath(filePath); + prhAppConfig.setResourceFile(new InputStreamResource(inputStream)); doReturn(inputStream).when(prhAppConfig).getInputStream(any()); prhAppConfig.initFileStreamReader(); appConfig.dmaapConsumerConfiguration = prhAppConfig.getDmaapConsumerConfiguration(); @@ -121,7 +129,6 @@ class PrhAppConfigTest { // // Then // - verify(prhAppConfig, times(1)).setFilepath(anyString()); verify(prhAppConfig, times(1)).initFileStreamReader(); Assertions.assertNotNull(prhAppConfig.getAaiClientConfiguration()); Assertions.assertNotNull(prhAppConfig.getDmaapConsumerConfiguration()); @@ -136,12 +143,15 @@ class PrhAppConfigTest { } @Test - void whenFileIsNotExist_ThrowIoException() { + void whenFileIsNotExist_ThrowIoException() throws IOException { // // Given + InputStream inputStream = new ByteArrayInputStream((jsonString.getBytes( + StandardCharsets.UTF_8))); + Resource resource = spy(new InputStreamResource(inputStream)); // - filePath = "/temp.json"; - prhAppConfig.setFilepath(filePath); + when(resource.getInputStream()).thenThrow(new IOException()); + prhAppConfig.setResourceFile(resource); // // When // @@ -149,7 +159,6 @@ class PrhAppConfigTest { // // Then // - verify(prhAppConfig, times(1)).setFilepath(anyString()); verify(prhAppConfig, times(1)).initFileStreamReader(); Assertions.assertNull(prhAppConfig.getAaiClientConfiguration()); Assertions.assertNull(prhAppConfig.getDmaapConsumerConfiguration()); @@ -167,14 +176,13 @@ class PrhAppConfigTest { // // When // - prhAppConfig.setFilepath(filePath); + prhAppConfig.setResourceFile(new InputStreamResource(inputStream)); doReturn(inputStream).when(prhAppConfig).getInputStream(any()); prhAppConfig.initFileStreamReader(); // // Then // - verify(prhAppConfig, times(1)).setFilepath(anyString()); verify(prhAppConfig, times(1)).initFileStreamReader(); Assertions.assertNotNull(prhAppConfig.getAaiClientConfiguration()); Assertions.assertNotNull(prhAppConfig.getDmaapConsumerConfiguration()); @@ -190,7 +198,7 @@ class PrhAppConfigTest { InputStream inputStream = new ByteArrayInputStream((jsonString.getBytes( StandardCharsets.UTF_8))); // When - prhAppConfig.setFilepath(filePath); + prhAppConfig.setResourceFile(new InputStreamResource(inputStream)); doReturn(inputStream).when(prhAppConfig).getInputStream(any()); JsonElement jsonElement = mock(JsonElement.class); when(jsonElement.isJsonObject()).thenReturn(false); @@ -201,7 +209,6 @@ class PrhAppConfigTest { appConfig.aaiClientConfiguration = prhAppConfig.getAaiClientConfiguration(); // Then - verify(prhAppConfig, times(1)).setFilepath(anyString()); verify(prhAppConfig, times(1)).initFileStreamReader(); Assertions.assertNull(prhAppConfig.getAaiClientConfiguration()); Assertions.assertNull(prhAppConfig.getDmaapConsumerConfiguration()); |