From 52b5f5276add6116a14ba671c35ff9d87c140421 Mon Sep 17 00:00:00 2001 From: Tomasz Wrobel Date: Fri, 15 Jan 2021 14:34:18 +0100 Subject: Add Native Kafka streams support in bp-generator Issue-ID: DCAEGEN2-1179 Signed-off-by: Tomasz Wrobel Change-Id: I541dca959707a41c56205e20c9f5a56ccec5ca41 --- .../common/kafka/KafkaStreamServiceTest.java | 125 +++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/kafka/KafkaStreamServiceTest.java (limited to 'mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/kafka/KafkaStreamServiceTest.java') diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/kafka/KafkaStreamServiceTest.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/kafka/KafkaStreamServiceTest.java new file mode 100644 index 0000000..cad3b71 --- /dev/null +++ b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/kafka/KafkaStreamServiceTest.java @@ -0,0 +1,125 @@ +/* + * + * * ============LICENSE_START======================================================= + * * org.onap.dcae + * * ================================================================================ + * * Copyright (c) 2021 Nokia 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.blueprintgenerator.service.common.kafka; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; + +import java.util.LinkedHashMap; +import java.util.Map; +import org.junit.Test; + +import org.junit.runner.RunWith; +import org.onap.blueprintgenerator.service.base.BlueprintHelperService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.context.ConfigFileApplicationContextInitializer; +import org.springframework.test.context.ContextConfiguration; +import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; + +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(classes = {KafkaStreamService.class, BlueprintHelperService.class}, + initializers = ConfigFileApplicationContextInitializer.class) +public class KafkaStreamServiceTest { + + private static final String TEST_STREAM_NAME = "test_stream_name"; + private static final String PUBLISH_URL_SUFFIX = "_publish_url"; + private static final String SUBSCRIBE_URL_SUFFIX = "_subscribe_url"; + private static final String DEFAULT_KEY = "default"; + private static final String KAFKA_TYPE = "kafka"; + + @Autowired + private KafkaStreamService kafkaStreamService; + + @Test + public void createCorrectStreamCommonInputs() { + + Map> publishInputs = kafkaStreamService + .createStreamPublishInputs("test_stream_name"); + + LinkedHashMap kafka_bootstrap_servers = publishInputs.get("kafka_bootstrap_servers"); + LinkedHashMap kafka_username = publishInputs.get("kafka_username"); + LinkedHashMap kafka_password = publishInputs.get("kafka_password"); + + assertNotNull(kafka_bootstrap_servers); + assertNotNull(kafka_username); + assertNotNull(kafka_password); + + assertNotNull(kafka_bootstrap_servers.get(DEFAULT_KEY)); + assertNotNull(kafka_username.get(DEFAULT_KEY)); + assertNotNull(kafka_password.get(DEFAULT_KEY)); + } + + @Test + public void createCorrectStreamPublishInput() { + Map> publishInputs = kafkaStreamService + .createStreamPublishInputs(TEST_STREAM_NAME); + + LinkedHashMap kafka_stream_name = publishInputs.get(TEST_STREAM_NAME + PUBLISH_URL_SUFFIX); + + assertNotNull(kafka_stream_name); + + assertNotNull(kafka_stream_name.get(DEFAULT_KEY)); + } + + @Test + public void createCorrectStreamSubscribeInput() { + Map> publishInputs = kafkaStreamService + .createStreamSubscribeInputs(TEST_STREAM_NAME); + + LinkedHashMap kafka_stream_name = publishInputs.get(TEST_STREAM_NAME + SUBSCRIBE_URL_SUFFIX); + + assertNotNull(kafka_stream_name); + + assertNotNull(kafka_stream_name.get(DEFAULT_KEY)); + } + + @Test + public void createCorrectPublishAppConfig() { + Map appPropertiesPublish = kafkaStreamService + .createAppPropertiesPublish(TEST_STREAM_NAME); + + KafkaStream kafkaStream = appPropertiesPublish.get(TEST_STREAM_NAME); + + assertEquals(KAFKA_TYPE, kafkaStream.getType()); + assertNotNull(kafkaStream.getAafCredential()); + assertNotNull(kafkaStream.getKafkaInfo()); + assertTrue(kafkaStream.getKafkaInfo().toString().contains(TEST_STREAM_NAME + PUBLISH_URL_SUFFIX)); + + } + + @Test + public void createCorrectSubscribeAppConfig() { + Map appPropertiesSubscribe = kafkaStreamService + .createAppPropertiesSubscribe(TEST_STREAM_NAME); + + KafkaStream kafkaStream = appPropertiesSubscribe.get(TEST_STREAM_NAME); + + assertEquals(KAFKA_TYPE, kafkaStream.getType()); + assertNotNull(kafkaStream.getAafCredential()); + assertNotNull(kafkaStream.getKafkaInfo()); + assertTrue(kafkaStream.getKafkaInfo().toString().contains(TEST_STREAM_NAME + SUBSCRIBE_URL_SUFFIX)); + + } +} -- cgit 1.2.3-korg