From 7a2c23b3ad83eab0eed5b990c70a1603447d5ee5 Mon Sep 17 00:00:00 2001 From: "Singla, Rajiv (rs153v)" Date: Wed, 15 Aug 2018 11:46:10 -0400 Subject: Standalone TCA with EELF Logger Issue-ID: DCAEGEN2-633 Change-Id: I4da76b532021c0d6248455e7bd6e77f4614c35a7 Signed-off-by: Singla, Rajiv (rs153v) --- .../web/BaseAnalyticsWebSpringBootIT.java | 48 +++++++++++++ .../dcae/analytics/web/BaseAnalyticsWebTest.java | 28 ++++++++ .../onap/dcae/analytics/web/DmaapMrFlowsIT.java | 53 ++++++++++++++ .../web/config/AnalyticsWebTestConfig.java | 43 ++++++++++++ .../analytics/web/config/DmaapMrTestConfig.java | 73 +++++++++++++++++++ ...igBindingServiceEnvironmentPostProcessorIT.java | 82 ++++++++++++++++++++++ 6 files changed, 327 insertions(+) create mode 100644 dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebSpringBootIT.java create mode 100644 dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebTest.java create mode 100644 dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/DmaapMrFlowsIT.java create mode 100644 dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/AnalyticsWebTestConfig.java create mode 100644 dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/DmaapMrTestConfig.java create mode 100644 dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/spring/ConfigBindingServiceEnvironmentPostProcessorIT.java (limited to 'dcae-analytics/dcae-analytics-web/src/test/java/org/onap') diff --git a/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebSpringBootIT.java b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebSpringBootIT.java new file mode 100644 index 0000000..6184d34 --- /dev/null +++ b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebSpringBootIT.java @@ -0,0 +1,48 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.web; + +import java.util.Arrays; +import java.util.List; + +import org.onap.dcae.analytics.model.AnalyticsProfile; +import org.onap.dcae.analytics.test.BaseAnalyticsSpringBootIT; +import org.onap.dcae.analytics.web.config.AnalyticsWebTestConfig; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.ContextConfiguration; + +/** + * @author Rajiv Singla + */ +@ActiveProfiles({AnalyticsProfile.DEV_PROFILE_NAME}) +@ContextConfiguration(classes = {AnalyticsWebTestConfig.class}) +public abstract class BaseAnalyticsWebSpringBootIT extends BaseAnalyticsSpringBootIT { + + public static final String TEST_SUBSCRIBER_TOPIC_URL = "http://localhost:8080/events/SubTopic"; + public static final String TEST_SUBSCRIBER_AAF_USERNAME = "USER"; + public static final String TEST_SUBSCRIBER_AAF_PASSWORD = "PASSWORD"; + + public static final String TEST_SUBSCRIBER_CONSUMER_GROUP = "cg1"; + public static final List TEST_SUBSCRIBER_CONSUMER_IDS = Arrays.asList("c0", "c1"); + + + public static final String TEST_PUBLISHER_TOPIC_URL = "http://localhost:8080/events/PubTopic"; + +} diff --git a/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebTest.java b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebTest.java new file mode 100644 index 0000000..4258973 --- /dev/null +++ b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/BaseAnalyticsWebTest.java @@ -0,0 +1,28 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.web; + +import org.onap.dcae.analytics.test.BaseAnalyticsUnitTest; + +/** + * @author Rajiv Singla + */ +public abstract class BaseAnalyticsWebTest extends BaseAnalyticsUnitTest { +} diff --git a/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/DmaapMrFlowsIT.java b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/DmaapMrFlowsIT.java new file mode 100644 index 0000000..b9c3d8e --- /dev/null +++ b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/DmaapMrFlowsIT.java @@ -0,0 +1,53 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.web; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.onap.dcae.analytics.model.AnalyticsProfile; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.integration.channel.DirectChannel; +import org.springframework.integration.channel.QueueChannel; +import org.springframework.test.context.ActiveProfiles; + +/** + * @author Rajiv Singla + */ +@ActiveProfiles(value = {AnalyticsProfile.DMAAP_PROFILE_NAME}) +@Disabled +class DmaapMrFlowsIT extends BaseAnalyticsWebSpringBootIT { + + @Autowired + private QueueChannel mrSubscriberOutputChannel; + @Autowired + private DirectChannel mrPublisherInputChannel; + + @Test + void mrPubSubFlows() { + + try { + Thread.sleep(300_000); + } catch (InterruptedException e) { + logger.error("", e); + } + } + + +} diff --git a/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/AnalyticsWebTestConfig.java b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/AnalyticsWebTestConfig.java new file mode 100644 index 0000000..b80be2c --- /dev/null +++ b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/AnalyticsWebTestConfig.java @@ -0,0 +1,43 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.web.config; + +import com.fasterxml.jackson.databind.ObjectMapper; + +import org.onap.dcae.analytics.model.util.json.AnalyticsModelJsonConversion; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; + +/** + * @author Rajiv Singla + */ +@Configuration +@EnableAutoConfiguration +@Import(value = {AnalyticsWebConfig.class, DmaapMrTestConfig.class}) +public class AnalyticsWebTestConfig { + + @Bean + public ObjectMapper objectMapper() { + return AnalyticsModelJsonConversion.ANALYTICS_MODEL_OBJECT_MAPPER; + } + +} diff --git a/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/DmaapMrTestConfig.java b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/DmaapMrTestConfig.java new file mode 100644 index 0000000..9e884ea --- /dev/null +++ b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/config/DmaapMrTestConfig.java @@ -0,0 +1,73 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.web.config; + +import org.onap.dcae.analytics.model.AnalyticsProfile; +import org.onap.dcae.analytics.web.BaseAnalyticsWebSpringBootIT; +import org.onap.dcae.analytics.web.dmaap.MrPublisherPreferences; +import org.onap.dcae.analytics.web.dmaap.MrSubscriberPreferences; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Profile; +import org.springframework.integration.channel.DirectChannel; +import org.springframework.integration.channel.QueueChannel; +import org.springframework.integration.dsl.IntegrationFlow; +import org.springframework.integration.dsl.IntegrationFlows; +import org.springframework.integration.handler.LoggingHandler; + +/** + * @author Rajiv Singla + */ +@Configuration +@Profile({AnalyticsProfile.DMAAP_PROFILE_NAME}) +public class DmaapMrTestConfig { + + @Bean + public MrSubscriberPreferences mrSubscriberPreferences() { + return new MrSubscriberPreferences(BaseAnalyticsWebSpringBootIT.TEST_SUBSCRIBER_TOPIC_URL, null, + null, BaseAnalyticsWebSpringBootIT.TEST_SUBSCRIBER_AAF_USERNAME, + BaseAnalyticsWebSpringBootIT.TEST_SUBSCRIBER_AAF_PASSWORD, + null, null, null, + BaseAnalyticsWebSpringBootIT.TEST_SUBSCRIBER_CONSUMER_GROUP, + BaseAnalyticsWebSpringBootIT.TEST_SUBSCRIBER_CONSUMER_IDS, + null, null, null); + } + + @Bean + public MrPublisherPreferences mrPublisherPreferences() { + return new MrPublisherPreferences(BaseAnalyticsWebSpringBootIT.TEST_PUBLISHER_TOPIC_URL); + } + + @Bean + public Integer processingBatchSize() { + return 1; + } + + + @Bean + public IntegrationFlow noOperationMrFlow(final QueueChannel mrSubscriberOutputChannel, + final DirectChannel mrPublisherInputChannel) { + return IntegrationFlows.from(mrSubscriberOutputChannel) + .log(LoggingHandler.Level.INFO) + .channel(mrPublisherInputChannel) + .get(); + } + +} diff --git a/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/spring/ConfigBindingServiceEnvironmentPostProcessorIT.java b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/spring/ConfigBindingServiceEnvironmentPostProcessorIT.java new file mode 100644 index 0000000..d459212 --- /dev/null +++ b/dcae-analytics/dcae-analytics-web/src/test/java/org/onap/dcae/analytics/web/spring/ConfigBindingServiceEnvironmentPostProcessorIT.java @@ -0,0 +1,82 @@ +/* + * ================================================================================ + * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed 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. + * ============LICENSE_END========================================================= + * + */ + +package org.onap.dcae.analytics.web.spring; + +import static org.onap.dcae.analytics.model.configbindingservice.ConfigBindingServiceConstants + .CONFIG_BINDING_SERVICE_ENV_VARIABLE_KEY; +import static org.onap.dcae.analytics.model.configbindingservice.ConfigBindingServiceConstants + .CONFIG_BINDING_SERVICE_PROPERTIES_KEY; +import static org.onap.dcae.analytics.model.configbindingservice.ConfigBindingServiceConstants + .CONSUL_HOST_ENV_VARIABLE_KEY; +import static org.onap.dcae.analytics.model.configbindingservice.ConfigBindingServiceConstants + .SERVICE_NAME_ENV_VARIABLE_KEY; + +import java.util.HashMap; +import java.util.Map; + +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; +import org.onap.dcae.analytics.model.AnalyticsProfile; +import org.onap.dcae.analytics.web.BaseAnalyticsWebSpringBootIT; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.env.AbstractEnvironment; +import org.springframework.core.env.Environment; +import org.springframework.core.env.MapPropertySource; +import org.springframework.core.env.PropertySource; +import org.springframework.test.context.ActiveProfiles; + +/** + * @author Rajiv Singla + */ +@ActiveProfiles(value = {AnalyticsProfile.CONFIG_BINDING_SERVICE_PROFILE_NAME}, inheritProfiles = false) +@Disabled +class ConfigBindingServiceEnvironmentPostProcessorIT extends BaseAnalyticsWebSpringBootIT { + + @BeforeAll + static void beforeAll() throws Exception { + // sets up environment variables for testing purposes + final HashMap testEnvironmentVariables = new HashMap<>(); + final String testConsulHostValue = "localhost"; + final String testConfigBindingService = "config_binding_service"; + final String testServiceName = "tca_dev"; + testEnvironmentVariables.put(CONSUL_HOST_ENV_VARIABLE_KEY, testConsulHostValue); + testEnvironmentVariables.put(CONFIG_BINDING_SERVICE_ENV_VARIABLE_KEY, testConfigBindingService); + testEnvironmentVariables.put(SERVICE_NAME_ENV_VARIABLE_KEY, testServiceName); + setEnvironmentVariables(testEnvironmentVariables); + } + + @Autowired + private Environment environment; + + @Test + void postProcessEnvironment() { + + final Map properties = new HashMap<>(); + for (final PropertySource propertySource : ((AbstractEnvironment) environment).getPropertySources()) { + if (propertySource.getName().equals(CONFIG_BINDING_SERVICE_PROPERTIES_KEY)) { + properties.putAll(((MapPropertySource) propertySource).getSource()); + } + } + properties.forEach((key, value) -> logger.debug("{} -> {}", key, value)); + + } + +} -- cgit 1.2.3-korg