summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java2
-rw-r--r--mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/PropertiesServiceTest.java335
2 files changed, 335 insertions, 2 deletions
diff --git a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java
index 3c36cca..be79b25 100644
--- a/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java
+++ b/mod/bpgenerator/onap/src/main/java/org/onap/blueprintgenerator/service/common/PropertiesService.java
@@ -88,7 +88,6 @@ public class PropertiesService {
image.setBpInputName("image");
properties.setImage(image);
- LinkedHashMap<String, Object> img = new LinkedHashMap<>();
inputs.put(
"image",
blueprintHelperService.createStringInput(onapComponentSpec.getArtifacts()[0].getUri()));
@@ -97,7 +96,6 @@ public class PropertiesService {
location.setBpInputName("location_id");
properties.setLocation_id(location);
- LinkedHashMap<String, Object> locMap = new LinkedHashMap();
inputs.put("location_id", blueprintHelperService.createStringInput(Constants.EMPTY_VALUE));
properties.setLog_info(onapComponentSpec.getAuxilary().getLog_info());
diff --git a/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/PropertiesServiceTest.java b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/PropertiesServiceTest.java
new file mode 100644
index 0000000..520d2d2
--- /dev/null
+++ b/mod/bpgenerator/onap/src/test/java/org/onap/blueprintgenerator/service/common/PropertiesServiceTest.java
@@ -0,0 +1,335 @@
+/*
+ *
+ * * ============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.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnitRunner;
+import org.onap.blueprintgenerator.constants.Constants;
+import org.onap.blueprintgenerator.model.common.GetInput;
+import org.onap.blueprintgenerator.model.common.Properties;
+import org.onap.blueprintgenerator.model.componentspec.OnapAuxilary;
+import org.onap.blueprintgenerator.model.componentspec.OnapComponentSpec;
+import org.onap.blueprintgenerator.model.componentspec.common.Artifacts;
+import org.onap.blueprintgenerator.model.componentspec.common.Publishes;
+import org.onap.blueprintgenerator.model.componentspec.common.Self;
+import org.onap.blueprintgenerator.model.componentspec.common.Streams;
+import org.onap.blueprintgenerator.model.componentspec.common.Subscribes;
+import org.onap.blueprintgenerator.model.componentspec.common.Volumes;
+import org.onap.blueprintgenerator.model.dmaap.TlsInfo;
+import org.onap.blueprintgenerator.service.base.BlueprintHelperService;
+import org.onap.blueprintgenerator.service.dmaap.StreamsService;
+
+@RunWith(MockitoJUnitRunner.class)
+public class PropertiesServiceTest {
+
+ private static final String PROPERTIES = "properties";
+ private static final String INPUTS = "inputs";
+
+ @InjectMocks
+ private PropertiesService propertiesService;
+ @Mock
+ private AppConfigService appConfigService;
+ @Mock
+ private ResourceConfigService resourceConfigService;
+ @Mock
+ private StreamsService streamsService;
+ @Mock
+ private BlueprintHelperService blueprintHelperService;
+
+ private Map<String, ?> resourceConfigResponse;
+
+ @Before
+ public void setup() {
+ resourceConfigResponse = Map.of(INPUTS, new LinkedHashMap<>());
+ when(resourceConfigService.createResourceConfig(any(), eq(getSelf().getName())))
+ .thenReturn((Map<String, Object>) resourceConfigResponse);
+ }
+
+ @Test
+ public void shouldReturnInputsAndPropertiesForDmaap() {
+ //when
+ Map<String, Object> response = propertiesService
+ .createDmaapProperties(new HashMap<>(), getOnapComponentSpec(), "");
+
+ //then
+ assertTrue(response.get(PROPERTIES) instanceof Properties);
+ assertNotNull(response.get(INPUTS));
+ assertEquals(resourceConfigResponse.get(INPUTS), response.get(INPUTS));
+ assertEquals(getProperties("tag_version", false), response.get(PROPERTIES));
+
+ Properties actualProperties = (Properties) response.get(PROPERTIES);
+ assertNull(actualProperties.getStreams_subscribes());
+ assertNull(actualProperties.getStreams_publishes());
+ }
+
+ @Test
+ public void shouldReturnInputsAndPropertiesForOnap() {
+ //given
+ when(appConfigService.createAppconfig(any(), eq(getOnapComponentSpec()), eq(""), eq(false)))
+ .thenReturn((Map<String, Object>) resourceConfigResponse);
+
+ //when
+ Map<String, Object> response = propertiesService
+ .createOnapProperties(new HashMap<>(), getOnapComponentSpec(), "");
+
+ //then
+ assertNotNull(response.get(PROPERTIES));
+ assertTrue(response.get(PROPERTIES) instanceof Properties);
+ assertNotNull(response.get(INPUTS));
+ assertEquals(resourceConfigResponse.get(INPUTS), response.get(INPUTS));
+ assertEquals(getProperties("image", true), response.get(PROPERTIES));
+
+ Properties actualProperties = (Properties) response.get(PROPERTIES);
+ assertNull(actualProperties.getStreams_subscribes());
+ assertNull(actualProperties.getStreams_publishes());
+ }
+
+ @Test
+ public void shouldSetStreamsMessageRoutesPublishesInProperties() {
+ //given
+ OnapComponentSpec onapComponentSpec = getOnapComponentSpecWithStreamsPublishes();
+ Publishes publishes = onapComponentSpec.getStreams().getPublishes()[0];
+ when(blueprintHelperService.isMessageRouterType(eq(publishes.getType()))).thenReturn(true);
+ when(streamsService.createStreams(any(), eq(publishes.getConfig_key() + Constants._TOPIC),
+ eq(publishes.getType()),
+ eq(publishes.getConfig_key()),
+ eq(publishes.getRoute()),
+ eq('p'))).thenReturn(getStreams());
+
+ //when
+ Map<String, Object> response = propertiesService
+ .createDmaapProperties(new HashMap<>(), onapComponentSpec, "");
+
+ //then
+ assertNotNull(response.get(PROPERTIES));
+ assertTrue(response.get(PROPERTIES) instanceof Properties);
+ Properties actualProperties = (Properties) response.get(PROPERTIES);
+ assertNull(actualProperties.getStreams_subscribes());
+ assertNotNull(actualProperties.getStreams_publishes());
+ assertEquals(List.of(getDmaapStreams()), actualProperties.getStreams_publishes());
+ }
+
+ @Test
+ public void shouldSetStreamsDataRoutesPublishesInProperties() {
+ //given
+ OnapComponentSpec onapComponentSpec = getOnapComponentSpecWithStreamsPublishes();
+ Publishes publishes = onapComponentSpec.getStreams().getPublishes()[0];
+ when(blueprintHelperService.isDataRouterType(eq(publishes.getType()))).thenReturn(true);
+ when(streamsService.createStreams(any(), eq(publishes.getConfig_key() + Constants._FEED),
+ eq(publishes.getType()),
+ eq(publishes.getConfig_key()),
+ eq(publishes.getRoute()),
+ eq('p'))).thenReturn(getStreams());
+
+ //when
+ Map<String, Object> response = propertiesService
+ .createDmaapProperties(new HashMap<>(), onapComponentSpec, "");
+
+ //then
+ assertNotNull(response.get(PROPERTIES));
+ assertTrue(response.get(PROPERTIES) instanceof Properties);
+ Properties actualProperties = (Properties) response.get(PROPERTIES);
+ assertNull(actualProperties.getStreams_subscribes());
+ assertNotNull(actualProperties.getStreams_publishes());
+ assertEquals(List.of(getDmaapStreams()), actualProperties.getStreams_publishes());
+ }
+
+ @Test
+ public void shouldSetStreamsDataRoutesSubscribesInProperties() {
+ //given
+ OnapComponentSpec onapComponentSpec = getOnapComponentSpecWithStreamsSubscribes();
+ Subscribes subscribes = onapComponentSpec.getStreams().getSubscribes()[0];
+ when(blueprintHelperService.isMessageRouterType(eq(subscribes.getType()))).thenReturn(true);
+ when(streamsService.createStreams(any(), eq(subscribes.getConfig_key() + Constants._TOPIC),
+ eq(subscribes.getType()),
+ eq(subscribes.getConfig_key()),
+ eq(subscribes.getRoute()),
+ eq('s'))).thenReturn(getStreams());
+
+ //when
+ Map<String, Object> response = propertiesService
+ .createDmaapProperties(new HashMap<>(), onapComponentSpec, "");
+
+ //then
+ assertNotNull(response.get(PROPERTIES));
+ assertTrue(response.get(PROPERTIES) instanceof Properties);
+ Properties actualProperties = (Properties) response.get(PROPERTIES);
+ assertNull(actualProperties.getStreams_publishes());
+ assertNotNull(actualProperties.getStreams_subscribes());
+ assertEquals(List.of(getDmaapStreams()), actualProperties.getStreams_subscribes());
+ }
+
+ @Test
+ public void shouldSetStreamsMessageRoutesSubscribesInProperties() {
+ //given
+ OnapComponentSpec onapComponentSpec = getOnapComponentSpecWithStreamsSubscribes();
+ Subscribes subscribes = onapComponentSpec.getStreams().getSubscribes()[0];
+ when(blueprintHelperService.isDataRouterType(eq(subscribes.getType()))).thenReturn(true);
+ when(streamsService.createStreams(any(), eq(subscribes.getConfig_key() + Constants._FEED),
+ eq(subscribes.getType()),
+ eq(subscribes.getConfig_key()),
+ eq(subscribes.getRoute()),
+ eq('s'))).thenReturn(getStreams());
+
+ //when
+ Map<String, Object> response = propertiesService
+ .createDmaapProperties(new HashMap<>(), onapComponentSpec, "");
+
+ //then
+ assertNotNull(response.get(PROPERTIES));
+ assertTrue(response.get(PROPERTIES) instanceof Properties);
+ Properties actualProperties = (Properties) response.get(PROPERTIES);
+ assertNull(actualProperties.getStreams_publishes());
+ assertNotNull(actualProperties.getStreams_subscribes());
+ assertEquals(List.of(getDmaapStreams()), actualProperties.getStreams_subscribes());
+ }
+
+ private OnapComponentSpec getOnapComponentSpecWithStreamsSubscribes() {
+ OnapComponentSpec onapComponentSpec = getOnapComponentSpec();
+ Streams streams = new Streams();
+ Subscribes subscribes = getSubscribes();
+ streams.setSubscribes(new Subscribes[]{subscribes});
+ onapComponentSpec.setStreams(streams);
+ return onapComponentSpec;
+ }
+
+ private OnapComponentSpec getOnapComponentSpecWithStreamsPublishes() {
+ OnapComponentSpec onapComponentSpec = getOnapComponentSpec();
+ Streams streams = new Streams();
+ Publishes publishes1 = getPublishes();
+ streams.setPublishes(new Publishes[]{publishes1});
+ onapComponentSpec.setStreams(streams);
+ return onapComponentSpec;
+ }
+
+ private HashMap<String, Object> getStreams() {
+ return new HashMap<>() {{
+ put("streams", getDmaapStreams());
+ }};
+ }
+
+ private org.onap.blueprintgenerator.model.dmaap.Streams getDmaapStreams() {
+ org.onap.blueprintgenerator.model.dmaap.Streams dmaapStreams = new org.onap.blueprintgenerator.model.dmaap.Streams();
+ dmaapStreams.setName("testDmaapStreams");
+ return dmaapStreams;
+ }
+
+ private Publishes getPublishes() {
+ Publishes publishes = new Publishes();
+ publishes.setConfig_key("test_config_key");
+ publishes.setFormat("test_format");
+ publishes.setRoute("test_route");
+ publishes.setType("test_type");
+ publishes.setVersion("test_version");
+ return publishes;
+ }
+
+ private Subscribes getSubscribes() {
+ Subscribes subscribes = new Subscribes();
+ subscribes.setConfig_key("test_config_key_s");
+ subscribes.setFormat("test_format_s");
+ subscribes.setRoute("test_route_s");
+ subscribes.setType("test_type_s");
+ subscribes.setVersion("test_version_s");
+ return subscribes;
+ }
+
+ private Properties getProperties(String image, boolean alwaysPullImage) {
+ Properties expectedProperties = new Properties();
+ expectedProperties.setDocker_config(getOnapAuxilary());
+ expectedProperties.setImage(getGetInput(image));
+ expectedProperties.setLocation_id(getGetInput("location_id"));
+ expectedProperties.setService_component_type("test-Name");
+ expectedProperties.setLog_info(Collections.emptyMap());
+ expectedProperties.setReplicas(getGetInput("replicas"));
+ expectedProperties.setTls_info(getTlsInfo());
+ if (alwaysPullImage) {
+ expectedProperties.setAlways_pull_image(getGetInput("always_pull_image"));
+ }
+ return expectedProperties;
+ }
+
+ private TlsInfo getTlsInfo() {
+ TlsInfo tlsInfo = new TlsInfo();
+ tlsInfo.setUseTls(getGetInput("use_tls"));
+ return tlsInfo;
+ }
+
+ private GetInput getGetInput(String location_id) {
+ GetInput location = new GetInput();
+ location.setBpInputName(location_id);
+ return location;
+ }
+
+ private OnapComponentSpec getOnapComponentSpec() {
+ OnapComponentSpec onapComponentSpec = new OnapComponentSpec();
+ onapComponentSpec.setArtifacts(new Artifacts[]{getTestUriArtifact()});
+ onapComponentSpec.setAuxilary(getOnapAuxilary());
+ onapComponentSpec.setSelf(getSelf());
+ return onapComponentSpec;
+ }
+
+ private Self getSelf() {
+ Self self = new Self();
+ self.setName("test.Name");
+ return self;
+ }
+
+ private Artifacts getTestUriArtifact() {
+ Artifacts artifacts = new Artifacts();
+ artifacts.setUri("test://testUri");
+ return artifacts;
+ }
+
+ private OnapAuxilary getOnapAuxilary() {
+ OnapAuxilary onapAuxilary = new OnapAuxilary();
+ onapAuxilary.setLog_info(Map.of());
+ onapAuxilary.setTls_info(Map.of());
+ onapAuxilary.setPorts(List.of("testPorts"));
+ onapAuxilary.setVolumes(new Volumes[]{getVolumes()});
+ return onapAuxilary;
+ }
+
+ private Volumes getVolumes() {
+ return new Volumes();
+ }
+
+}