From 6558bd6870e650dbd6232ab129dc82aebe5f8fba Mon Sep 17 00:00:00 2001 From: Joanna Jeremicz Date: Fri, 15 Jan 2021 09:56:54 +0100 Subject: Refactor AppConfigService with tests - Refactor AppConfigService - Bump bpgenerator version to 1.7.2 Issue-ID: DCAEGEN2-1179 Signed-off-by: Joanna Jeremicz Change-Id: Iae52bda14f928db102d4c3466ba97f948ca98727 --- .../service/common/StreamServiceTest.java | 285 +++++++++++++++++++++ 1 file changed, 285 insertions(+) create mode 100644 mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/StreamServiceTest.java (limited to 'mod/bpgenerator/onap/src/test') diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/StreamServiceTest.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/StreamServiceTest.java new file mode 100644 index 0000000..09bb176 --- /dev/null +++ b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/StreamServiceTest.java @@ -0,0 +1,285 @@ +/* + * + * * ============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; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; +import static org.junit.Assert.assertEquals; + +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.Map; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.onap.blueprintgenerator.model.common.Dmaap; +import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec; +import org.onap.blueprintgenerator.model.componentspec.common.Publishes; +import org.onap.blueprintgenerator.model.componentspec.common.Streams; +import org.onap.blueprintgenerator.model.componentspec.common.Subscribes; +import org.onap.blueprintgenerator.service.base.BlueprintHelperService; + +class StreamServiceTest { + + private StreamService streamService; + + OnapComponentSpec onapComponentSpecMock; + BlueprintHelperService blueprintHelperServiceMock; + DmaapService dmaapServiceMock; + + Streams streamsMock; + + @BeforeEach + public void setup() { + streamService = new StreamService(); + onapComponentSpecMock = mock(OnapComponentSpec.class); + blueprintHelperServiceMock = mock(BlueprintHelperService.class); + dmaapServiceMock = mock(DmaapService.class); + + streamsMock = mock(Streams.class); + } + + @Test + void whenStreamsIsNullCreateStreamPublishesShouldReturnEmptyMap() { + when(onapComponentSpecMock.getStreams()).thenReturn(null); + + Map streamPublishes = streamService.createStreamPublishes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapServiceMock, + createInputs(), + true); + + assertTrue(streamPublishes.isEmpty()); + } + + @Test + void whenPublishesIsNullCreateStreamPublishesShouldReturnEmptyMap() { + when(streamsMock.getPublishes()).thenReturn(null); + when(onapComponentSpecMock.getStreams()).thenReturn(streamsMock); + + Map streamPublishes = streamService.createStreamPublishes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapServiceMock, + createInputs(), + true); + + assertTrue(streamPublishes.isEmpty()); + } + + @Test + void whenPublishesIsNotEmptyDRCreateStreamPublishesShouldReturnNonEmptyMap() { + when(streamsMock.getPublishes()).thenReturn(createPublishesArray()); + when(onapComponentSpecMock.getStreams()).thenReturn(streamsMock); + when(blueprintHelperServiceMock.isDataRouterType(anyString())).thenReturn(true); + + DmaapService dmaapService = new DmaapService(); + + Map streamPublishes = streamService.createStreamPublishes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapService, + createInputs(), + true); + + Map expectedMap = createExpectedMap("_feed"); + + assertNotNull(streamPublishes); + assertEquals(expectedMap.size(), streamPublishes.size()); + for(Map.Entry entry : expectedMap.entrySet()) { + assertTrue(streamPublishes.containsKey(entry.getKey())); + assertTrue(streamPublishes.get(entry.getKey()).getType().equals(entry.getValue().getType())); + assertTrue(streamPublishes.get(entry.getKey()).getDmaap_info().equals(entry.getValue().getDmaap_info())); + } + } + + @Test + void whenPublishesIsNotEmptyMRCreateStreamPublishesShouldReturnNonEmptyMap() { + when(streamsMock.getPublishes()).thenReturn(createPublishesArray()); + when(onapComponentSpecMock.getStreams()).thenReturn(streamsMock); + when(blueprintHelperServiceMock.isMessageRouterType(anyString())).thenReturn(true); + + DmaapService dmaapService = new DmaapService(); + + Map streamPublishes = streamService.createStreamPublishes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapService, + createInputs(), + true); + + Map expectedMap = createExpectedMap("_topic"); + + assertNotNull(streamPublishes); + assertEquals(expectedMap.size(), streamPublishes.size()); + for(Map.Entry entry : expectedMap.entrySet()) { + assertTrue(streamPublishes.containsKey(entry.getKey())); + assertTrue(streamPublishes.get(entry.getKey()).getType().equals(entry.getValue().getType())); + assertTrue(streamPublishes.get(entry.getKey()).getDmaap_info().equals(entry.getValue().getDmaap_info())); + } + } + + @Test + void whenStreamsIsNullCreateStreamSubscribesShouldReturnEmptyMap() { + when(onapComponentSpecMock.getStreams()).thenReturn(null); + + Map streamSubscribes = streamService.createStreamSubscribes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapServiceMock, + createInputs(), + true); + + assertTrue(streamSubscribes.isEmpty()); + } + + @Test + void whenSubscribesIsNullCreateStreamSubscribesShouldReturnEmptyMap() { + when(streamsMock.getPublishes()).thenReturn(null); + when(onapComponentSpecMock.getStreams()).thenReturn(streamsMock); + + Map streamSubscribes = streamService.createStreamSubscribes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapServiceMock, + createInputs(), + true); + + assertTrue(streamSubscribes.isEmpty()); + } + + @Test + void whenSubscribesIsNotEmptyDRCreateStreamSubscribesShouldReturnNonEmptyMap() { + when(streamsMock.getSubscribes()).thenReturn(createSubscribesArray()); + when(onapComponentSpecMock.getStreams()).thenReturn(streamsMock); + when(blueprintHelperServiceMock.isDataRouterType(anyString())).thenReturn(true); + + DmaapService dmaapService = new DmaapService(); + + Map streamSubscribes = streamService.createStreamSubscribes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapService, + createInputs(), + true); + + Map expectedMap = createExpectedMap("_feed"); + + assertNotNull(streamSubscribes); + assertEquals(expectedMap.size(), streamSubscribes.size()); + for(Map.Entry entry : expectedMap.entrySet()) { + assertTrue(streamSubscribes.containsKey(entry.getKey())); + assertTrue(streamSubscribes.get(entry.getKey()).getType().equals(entry.getValue().getType())); + assertTrue(streamSubscribes.get(entry.getKey()).getDmaap_info().equals(entry.getValue().getDmaap_info())); + } + } + + @Test + void whenSubscribesIsNotEmptyMRCreateStreamSubscribesShouldReturnNonEmptyMap() { + when(streamsMock.getSubscribes()).thenReturn(createSubscribesArray()); + when(onapComponentSpecMock.getStreams()).thenReturn(streamsMock); + when(blueprintHelperServiceMock.isMessageRouterType(anyString())).thenReturn(true); + + DmaapService dmaapService = new DmaapService(); + + Map streamSubscribes = streamService.createStreamSubscribes( + onapComponentSpecMock, + blueprintHelperServiceMock, + dmaapService, + createInputs(), + true); + + Map expectedMap = createExpectedMap("_topic"); + + assertNotNull(streamSubscribes); + assertEquals(expectedMap.size(), streamSubscribes.size()); + for(Map.Entry entry : expectedMap.entrySet()) { + assertTrue(streamSubscribes.containsKey(entry.getKey())); + assertTrue(streamSubscribes.get(entry.getKey()).getType().equals(entry.getValue().getType())); + assertTrue(streamSubscribes.get(entry.getKey()).getDmaap_info().equals(entry.getValue().getDmaap_info())); + } + } + + private Map createExpectedMap(String suffix) { + Map expectedMap = new HashMap<>(); + Dmaap dmaap1 = new Dmaap(); + dmaap1.setType("t1"); + dmaap1.setDmaap_info("<>"); + + Dmaap dmaap2 = new Dmaap(); + dmaap2.setType("t2"); + dmaap2.setDmaap_info("<>"); + + Dmaap dmaap3 = new Dmaap(); + dmaap3.setType("t3"); + dmaap3.setDmaap_info("<>"); + + expectedMap.put("k1", dmaap1); + expectedMap.put("k2", dmaap2); + expectedMap.put("k3", dmaap3); + return expectedMap; + } + + private Publishes[] createPublishesArray() { + Publishes pub1 = createPublishes("k1", "t1"); + Publishes pub2 = createPublishes("k2", "t2"); + Publishes pub3 = createPublishes("k3", "t3"); + + return new Publishes[]{pub1, pub2, pub3}; + } + + private Subscribes[] createSubscribesArray() { + Subscribes sub1 = createSubscribes("k1", "t1"); + Subscribes sub2 = createSubscribes("k2", "t2"); + Subscribes sub3 = createSubscribes("k3", "t3"); + + return new Subscribes[]{sub1, sub2, sub3}; + } + + private Publishes createPublishes(String key, String type){ + Publishes publishes = new Publishes(); + publishes.setConfig_key(key); + publishes.setType(type); + return publishes; + } + + private Subscribes createSubscribes(String key, String type){ + Subscribes subscribes = new Subscribes(); + subscribes.setConfig_key(key); + subscribes.setType(type); + return subscribes; + } + + private Map> createInputs(){ + LinkedHashMap map = new LinkedHashMap<>(); + map.put("key-1", "obj-1"); + + Map> mapsMap = new HashMap<>(); + mapsMap.put("inputs", map); + return mapsMap; + } +} -- cgit 1.2.3-korg