aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/test/java/org/onap/vid/aai
diff options
context:
space:
mode:
authorEinat Vinouze <einat.vinouze@intl.att.com>2019-07-16 17:17:36 +0300
committerIttay Stern <ittay.stern@att.com>2019-07-30 06:01:44 +0300
commite601bbdc43bae9a08e2e10c5139a6f76b47860d7 (patch)
tree1913f0b369ead3f2ea5557e5649d8281eca9871c /vid-app-common/src/test/java/org/onap/vid/aai
parent76c6ee4a697617ec4cdee2f3b48bc83136c858c5 (diff)
Implant vid-app-common org.onap.vid.job (main and test)
Issue-ID: VID-378 Change-Id: I41b0bdc2c4e3635f3f3319b1cd63cefc61912dfc Signed-off-by: Einat Vinouze <einat.vinouze@intl.att.com> Signed-off-by: Ittay Stern <ittay.stern@att.com>
Diffstat (limited to 'vid-app-common/src/test/java/org/onap/vid/aai')
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/aai/AAITreeConverterTest.java134
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java184
-rw-r--r--vid-app-common/src/test/java/org/onap/vid/aai/AaiResponseTranslatorTest.java6
3 files changed, 238 insertions, 86 deletions
diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/AAITreeConverterTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/AAITreeConverterTest.java
index 5bdfd1207..560e6cb5f 100644
--- a/vid-app-common/src/test/java/org/onap/vid/aai/AAITreeConverterTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/aai/AAITreeConverterTest.java
@@ -25,17 +25,16 @@ import org.mockito.InjectMocks;
import org.mockito.MockitoAnnotations;
import org.onap.vid.aai.util.AAITreeConverter;
import org.onap.vid.model.Action;
-import org.onap.vid.model.aaiTree.AAITreeNode;
-import org.onap.vid.model.aaiTree.Network;
+import org.onap.vid.model.aaiTree.*;
import org.onap.vid.model.aaiTree.ServiceInstance;
-import org.onap.vid.model.aaiTree.VfModule;
-import org.onap.vid.model.aaiTree.Vnf;
+import org.onap.vid.mso.model.CloudConfiguration;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;
import java.util.List;
+import static org.hamcrest.CoreMatchers.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.emptyOrNullString;
import static org.hamcrest.Matchers.hasKey;
@@ -43,6 +42,7 @@ import static org.hamcrest.Matchers.hasSize;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.not;
import static org.onap.vid.asdc.parser.ToscaParserImpl2.Constants.A_LA_CARTE;
+import static org.testng.Assert.assertNull;
public class AAITreeConverterTest {
@@ -59,28 +59,41 @@ public class AAITreeConverterTest {
AAITreeNode aaiTree = generateAaiTreeToConvert(0, 0);
- ServiceInstance result = aaiTreeConverter.convertTreeToUIModel(aaiTree, "global-customer-id", "service-type", A_LA_CARTE);
+ ServiceInstance result = aaiTreeConverter.convertTreeToUIModel(aaiTree, "global-customer-id", "service-type", A_LA_CARTE, "", "");
assertService(result, 0, 0, true);
}
@Test
- public void testConvertTreeToUIModel_MultipleChildren() throws Exception {
+ public void testConvertTreeToUIModel_MultipleChildren() {
AAITreeNode aaiTree = generateAaiTreeToConvert(2, 2);
- ServiceInstance serviceInstance = aaiTreeConverter.convertTreeToUIModel(aaiTree, "global-customer-id", "service-type", null);
+ ServiceInstance serviceInstance = aaiTreeConverter.convertTreeToUIModel(aaiTree, "global-customer-id", "service-type", null, "", "");
assertService(serviceInstance, 2, 2, false);
int nodesCounter = 0;
assertThat(serviceInstance.getVnfs().entrySet(), hasSize(2));
- assertVnf(serviceInstance.getVnfs().get("vnf-model-version-id:00"+(nodesCounter++)), 0, 0, false);
- assertVnf(serviceInstance.getVnfs().get("vnf-model-version-id:00"+(nodesCounter++)), 0, 0, false);
+ assertVnf(serviceInstance.getVnfs().get("vnf-instance-id" + (nodesCounter++)), 0, 0);
+ assertVnf(serviceInstance.getVnfs().get("vnf-instance-id" + (nodesCounter++)), 0, 0);
assertThat(serviceInstance.getNetworks().entrySet(), hasSize(2));
- assertNetwork(serviceInstance.getNetworks().get("network-model-version-id:00"+(nodesCounter++)), false);
- assertNetwork(serviceInstance.getNetworks().get("network-model-version-id:00"+(nodesCounter)), false);
+ assertNetwork(serviceInstance.getNetworks().get("network-instance-id" + (nodesCounter++)), false);
+ assertNetwork(serviceInstance.getNetworks().get("network-instance-id" + (nodesCounter++)), false);
+
+ assertThat(serviceInstance.getVnfGroups().size(), equalTo(1));
+ assertThat(serviceInstance.getVnfGroups().get("vnf-group-id" + (nodesCounter++)).getInstanceId(), startsWith("vnf-group-id"));
+
+ assertThat(serviceInstance.getCollectionResources().size(), equalTo(1));
+ CollectionResource cr = serviceInstance.getCollectionResources().get("cr-id" + (nodesCounter++));
+ assertThat(cr.getInstanceId(), startsWith("cr-id"));
+
+ assertThat(cr.getNcfs().size(), equalTo(1));
+ assertThat(cr.getNcfs().get("ncf-id").getInstanceId(), startsWith("ncf-id"));
+
+ assertThat(serviceInstance.getExistingVNFCounterMap().get("vnf-model-customization-id"), equalTo(2L));
+ assertThat(serviceInstance.getExistingNetworksCounterMap().get("network-model-customization-id"), equalTo(2L));
}
@DataProvider
@@ -99,7 +112,7 @@ public class AAITreeConverterTest {
int nodesCounter = 0;
for (Boolean customizationName: vfModules) {
- vnfTreeNode.getChildren().add(createVfModule(nodesCounter++, customizationName));
+ vnfTreeNode.getChildren().add(createVfModule(customizationName));
}
for (Boolean customizationName: networks) {
@@ -108,24 +121,21 @@ public class AAITreeConverterTest {
Vnf actualVnf = Vnf.from(vnfTreeNode);
- assertVnf(actualVnf, vfModules.size(), networks.size(), false);
+ assertVnf(actualVnf, vfModules.size(), networks.size());
nodesCounter = 0;
for (Boolean customizationName: vfModules) {
String key = customizationName ? "vfModule key in model" : "vfModule-model-version-id";
assertThat(actualVnf.getVfModules(), hasKey(key));
- assertThat(actualVnf.getVfModules().get(key), hasKey(key + ":00" + nodesCounter));
- VfModule actualVfModule = actualVnf.getVfModules().get(key).get(key + ":00" + nodesCounter);
+ assertThat(actualVnf.getVfModules().get(key), hasKey("vfModule-instance-id"));
+ VfModule actualVfModule = actualVnf.getVfModules().get(key).get("vfModule-instance-id");
assertVfModule(actualVfModule, customizationName);
- nodesCounter++;
}
for (Boolean customizationName: networks) {
- String key = customizationName ? "network key in model" : "network-model-version-id";
-
- assertThat(actualVnf.getNetworks(), hasKey(key + ":00" + nodesCounter));
- Network actualNetwork = actualVnf.getNetworks().get(key + ":00" + nodesCounter);
+ assertThat(actualVnf.getNetworks(), hasKey("network-instance-id" + nodesCounter));
+ Network actualNetwork = actualVnf.getNetworks().get("network-instance-id" + nodesCounter);
assertNetwork(actualNetwork, customizationName);
nodesCounter++;
}
@@ -142,45 +152,79 @@ public class AAITreeConverterTest {
private AAITreeNode createVnf(int uniqueNumber, boolean hasCustomizationName) {
AAITreeNode vnfTreeNode = new AAITreeNode();
- vnfTreeNode.setId("vnf-instance-id");
+ vnfTreeNode.setId("vnf-instance-id" + uniqueNumber);
vnfTreeNode.setName("vnf-instance-name");
- vnfTreeNode.setType("generic-vnf");
+ vnfTreeNode.setType(NodeType.GENERIC_VNF);
vnfTreeNode.setModelVersionId("vnf-model-version-id");
+ vnfTreeNode.setModelCustomizationId("vnf-model-customization-id");
if (hasCustomizationName) {
vnfTreeNode.setModelCustomizationName("vnf model customization name");
vnfTreeNode.setKeyInModel("vnf key in model");
}
- vnfTreeNode.setUniqueNumber(uniqueNumber);
return vnfTreeNode;
}
- private AAITreeNode createVfModule(int uniqueNumber, boolean hasCustomizationName) {
+ private AAITreeNode createVnfGroup(int uniqueNumber) {
+ AAITreeNode treeNode = new AAITreeNode();
+ treeNode.setId("vnf-group-id" + uniqueNumber);
+ treeNode.setType(NodeType.INSTANCE_GROUP);
+ treeNode.getAdditionalProperties().put("instance-group-type", "vnfGroup-type");
+ return treeNode;
+ }
+
+ private AAITreeNode createCollectionResource(int uniqueNumber) {
+ AAITreeNode treeNode = new AAITreeNode();
+ treeNode.setId("cr-id" + uniqueNumber);
+ treeNode.setType(NodeType.COLLECTION_RESOURCE);
+ treeNode.getChildren().add(createNCF());
+ return treeNode;
+ }
+
+ private AAITreeNode createNCF() {
+ AAITreeNode treeNode = new AAITreeNode();
+ treeNode.setId("ncf-id");
+ treeNode.setType(NodeType.INSTANCE_GROUP);
+ treeNode.getAdditionalProperties().put("instance-group-type", "L3-NETWORK");
+ return treeNode;
+ }
+
+ @Test
+ public void givenPlacementIsNull_whenConvertToNetwork_relevantFieldsAreAlsoNull() {
+ AAITreeNode aaiTreeNode = new AAITreeNode();
+ aaiTreeNode.setType(NodeType.NETWORK);
+ Network actualNetwork = Network.from(aaiTreeNode);
+ assertNull(actualNetwork.getCloudOwner());
+ assertNull(actualNetwork.getLcpCloudRegionId());
+ assertNull(actualNetwork.getTenantId());
+ }
+
+ private AAITreeNode createVfModule(boolean hasCustomizationName) {
AAITreeNode vfModuleTreeNode = new AAITreeNode();
vfModuleTreeNode.setId("vfModule-instance-id");
vfModuleTreeNode.setName("vfModule-instance-name");
- vfModuleTreeNode.setType("vf-module");
+ vfModuleTreeNode.setType(NodeType.VF_MODULE);
vfModuleTreeNode.setModelVersionId("vfModule-model-version-id");
+ vfModuleTreeNode.setModelCustomizationId("vfModule-model-customization-id");
if (hasCustomizationName) {
vfModuleTreeNode.setModelCustomizationName("vfModule model customization name");
vfModuleTreeNode.setKeyInModel("vfModule key in model");
}
- vfModuleTreeNode.setUniqueNumber(uniqueNumber);
-
+ vfModuleTreeNode.setCloudConfiguration(new CloudConfiguration("lcpRegion2", "tenant3", "cloudOwner1"));
return vfModuleTreeNode;
}
private AAITreeNode createNetwork(int uniqueNumber, boolean hasCustomizationName) {
AAITreeNode networkTreeNode = new AAITreeNode();
- networkTreeNode.setId("network-instance-id");
+ networkTreeNode.setId("network-instance-id" + uniqueNumber);
networkTreeNode.setName("network-instance-name");
- networkTreeNode.setType("l3-network");
+ networkTreeNode.setType(NodeType.NETWORK);
networkTreeNode.setModelVersionId("network-model-version-id");
+ networkTreeNode.setModelCustomizationId("network-model-customization-id");
if (hasCustomizationName) {
networkTreeNode.setModelCustomizationName("network model customization name");
networkTreeNode.setKeyInModel("network key in model");
}
- networkTreeNode.setUniqueNumber(uniqueNumber);
-
+ networkTreeNode.setCloudConfiguration(new CloudConfiguration("auk51a", "b530fc990b6d4334bd45518bebca6a51", "att-nc"));
return networkTreeNode;
}
@@ -196,17 +240,16 @@ public class AAITreeConverterTest {
assertThat(serviceInstance.getIsALaCarte(), is(isALaCarte));
}
- private void assertVnf(Vnf actualVnf, int expectedVfModules, int expectedNetworks, boolean hasCustomizationName) {
- assertThat(actualVnf.getInstanceId(), is("vnf-instance-id"));
+ private void assertVnf(Vnf actualVnf, int expectedVfModules, int expectedNetworks) {
+ assertThat(actualVnf.getInstanceId(), containsString("vnf-instance-id"));
assertThat(actualVnf.getInstanceName(), is("vnf-instance-name"));
assertThat(actualVnf.getAction(), is(Action.None));
assertThat(actualVnf.getModelInfo().getModelType(), is("vnf"));
assertThat(actualVnf.getModelInfo().getModelVersionId(), is("vnf-model-version-id"));
assertThat(actualVnf.getVfModules().entrySet(), hasSize(expectedVfModules));
assertThat(actualVnf.getNetworks().entrySet(), hasSize(expectedNetworks));
- assertThat(actualVnf.getTrackById(), is(not(emptyOrNullString())));
- String expectedCustomizationName = hasCustomizationName ? "vnf model customization name" : null;
- assertThat(actualVnf.getModelInfo().getModelCustomizationName(), is(expectedCustomizationName));
+ assertThat(actualVnf.getTrackById(), containsString("vnf-instance-id"));
+ assertNull(actualVnf.getModelInfo().getModelCustomizationName());
}
private void assertVfModule(VfModule actualVfModule, boolean hasCustomizationName) {
@@ -215,20 +258,27 @@ public class AAITreeConverterTest {
assertThat(actualVfModule.getAction(), is(Action.None));
assertThat(actualVfModule.getModelInfo().getModelType(), is("vfModule"));
assertThat(actualVfModule.getModelInfo().getModelVersionId(), is("vfModule-model-version-id"));
- assertThat(actualVfModule.getTrackById(), is(not(emptyOrNullString())));
+ assertThat(actualVfModule.getTrackById(), is("vfModule-instance-id"));
String expectedCustomizationName = hasCustomizationName ? "vfModule model customization name" : null;
assertThat(actualVfModule.getModelInfo().getModelCustomizationName(), is(expectedCustomizationName));
+ assertThat(actualVfModule.getCloudOwner(), is("cloudOwner1"));
+ assertThat(actualVfModule.getLcpCloudRegionId(), is("lcpRegion2"));
+ assertThat(actualVfModule.getTenantId(), is("tenant3"));
}
private void assertNetwork(Network actualNetwork, boolean hasCustomizationName) {
- assertThat(actualNetwork.getInstanceId(), is("network-instance-id"));
+ assertThat(actualNetwork.getInstanceId(), containsString("network-instance-id"));
assertThat(actualNetwork.getInstanceName(), is("network-instance-name"));
assertThat(actualNetwork.getAction(), is(Action.None));
assertThat(actualNetwork.getModelInfo().getModelType(), is("network"));
assertThat(actualNetwork.getModelInfo().getModelVersionId(), is("network-model-version-id"));
- assertThat(actualNetwork.getTrackById(), is(not(emptyOrNullString())));
+ assertThat(actualNetwork.getTrackById(), containsString("network-instance-id"));
String expectedCustomizationName = hasCustomizationName ? "network model customization name" : null;
assertThat(actualNetwork.getModelInfo().getModelCustomizationName(), is(expectedCustomizationName));
+ assertThat(actualNetwork.getCloudOwner(), is("att-nc"));
+ assertThat(actualNetwork.getLcpCloudRegionId(), is("auk51a"));
+ assertThat(actualNetwork.getTenantId(), is("b530fc990b6d4334bd45518bebca6a51"));
+
}
private AAITreeNode generateAaiTreeToConvert(int numberOfVnfs, int numberOfNetworks) {
@@ -236,6 +286,7 @@ public class AAITreeConverterTest {
AAITreeNode aaiTree = new AAITreeNode();
aaiTree.setId("service-instance-id");
aaiTree.setName("service-instance-name");
+ aaiTree.setType(NodeType.SERVICE_INSTANCE);
for (int i = 0; i < numberOfVnfs; i++) {
aaiTree.getChildren().add(createVnf(counter++, false));
@@ -245,6 +296,9 @@ public class AAITreeConverterTest {
aaiTree.getChildren().add(createNetwork(counter++, false));
}
+ aaiTree.getChildren().add(createVnfGroup(counter++));
+ aaiTree.getChildren().add(createCollectionResource(counter++));
+
return aaiTree;
}
-}
+} \ No newline at end of file
diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java
index fdeeb0076..b2d8e85fa 100644
--- a/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/aai/AaiClientTest.java
@@ -20,9 +20,51 @@
package org.onap.vid.aai;
+import static java.util.stream.Collectors.toList;
+import static org.apache.commons.lang3.StringUtils.equalsIgnoreCase;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.hamcrest.Matchers.containsString;
+import static org.hamcrest.Matchers.either;
+import static org.hamcrest.Matchers.hasProperty;
+import static org.hamcrest.Matchers.instanceOf;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.sameInstance;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.argThat;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.onap.vid.utils.KotlinUtilsKt.JACKSON_OBJECT_MAPPER;
+import static org.onap.vid.utils.Unchecked.toURI;
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
+import static org.testng.Assert.assertNull;
+import static org.testng.Assert.fail;
+
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.ImmutableList;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URI;
+import java.security.cert.CertificateException;
+import java.util.ArrayList;
+import java.util.Map;
+import java.util.function.BiConsumer;
+import java.util.function.Function;
+import java.util.stream.Stream;
+import javax.crypto.BadPaddingException;
+import javax.net.ssl.SSLHandshakeException;
+import javax.servlet.ServletContext;
+import javax.ws.rs.ProcessingException;
+import javax.ws.rs.client.Client;
+import javax.ws.rs.core.Response;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apache.commons.lang3.exception.ExceptionUtils;
@@ -32,10 +74,20 @@ import org.apache.http.HttpStatus;
import org.mockito.Mockito;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.portalsdk.core.util.SystemProperties;
-import org.onap.vid.aai.model.AaiGetNetworkCollectionDetails.RelatedToProperty;
import org.onap.vid.aai.model.AaiGetTenatns.GetTenantsResponse;
-import org.onap.vid.aai.model.*;
-import org.onap.vid.aai.util.*;
+import org.onap.vid.aai.model.CustomQuerySimpleResult;
+import org.onap.vid.aai.model.ModelVer;
+import org.onap.vid.aai.model.ModelVersions;
+import org.onap.vid.aai.model.PortDetailsTranslator;
+import org.onap.vid.aai.model.Properties;
+import org.onap.vid.aai.model.RelatedToProperty;
+import org.onap.vid.aai.model.ResourceType;
+import org.onap.vid.aai.model.SimpleResult;
+import org.onap.vid.aai.util.AAIRestInterface;
+import org.onap.vid.aai.util.CacheProvider;
+import org.onap.vid.aai.util.HttpsAuthClient;
+import org.onap.vid.aai.util.ServletRequestHelper;
+import org.onap.vid.aai.util.SystemPropertyHelper;
import org.onap.vid.controller.LocalWebConfig;
import org.onap.vid.exceptions.GenericUncheckedException;
import org.onap.vid.model.Subscriber;
@@ -55,37 +107,6 @@ import org.testng.annotations.Test;
import sun.security.provider.certpath.SunCertPathBuilderException;
import sun.security.validator.ValidatorException;
-import javax.crypto.BadPaddingException;
-import javax.net.ssl.SSLHandshakeException;
-import javax.servlet.ServletContext;
-import javax.ws.rs.ProcessingException;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.Response;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.net.URI;
-import java.security.cert.CertificateException;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.function.BiConsumer;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-
-import static org.apache.commons.lang3.StringUtils.equalsIgnoreCase;
-import static org.hamcrest.MatcherAssert.assertThat;
-import static org.hamcrest.Matchers.*;
-import static org.mockito.ArgumentMatchers.nullable;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Matchers.isNull;
-import static org.mockito.Mockito.*;
-import static org.onap.vid.utils.Unchecked.toURI;
-import static org.testng.Assert.*;
-
@ContextConfiguration(classes = {LocalWebConfig.class, SystemProperties.class})
@WebAppConfiguration
public class AaiClientTest {
@@ -345,7 +366,7 @@ public class AaiClientTest {
Assert.assertTrue(response.t.length> 0);
- Assert.assertEquals(tenants[0].cloudOwner,"att-aic-cloud-owner");
+ Assert.assertEquals(tenants[0].cloudOwner,"irma-aic-cloud-owner");
}
final String tenantResponseRaw ="" +
@@ -355,10 +376,10 @@ public class AaiClientTest {
"\"relationship-list\": {" +
"\"relationship\": [{" +
"\"related-to\": \"tenant\"," +
- "\"related-link\": \"/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/att-aic/AAIAIC25/tenants/tenant/092eb9e8e4b7412e8787dd091bc58e86\"," +
+ "\"related-link\": \"/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/AAIAIC25/tenants/tenant/092eb9e8e4b7412e8787dd091bc58e86\"," +
"\"relationship-data\": [{" +
"\"relationship-key\": \"cloud-region.cloud-owner\"," +
- "\"relationship-value\": \"att-aic-cloud-owner\"" +
+ "\"relationship-value\": \"irma-aic-cloud-owner\"" +
"}," +
"{" +
"\"relationship-key\": \"cloud-region.cloud-region-id\"," +
@@ -427,11 +448,11 @@ public class AaiClientTest {
" {" +
" \"related-to\": \"volume-group\"," +
" \"relationship-label\": \"org.onap.relationships.inventory.Uses\"," +
- " \"related-link\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/rdm5b/volume-groups/volume-group/66013ebe-0c81-44b9-a24f-7c6acba73a39\"," +
+ " \"related-link\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/rdm5b/volume-groups/volume-group/66013ebe-0c81-44b9-a24f-7c6acba73a39\"," +
" \"relationship-data\": [" +
" {" +
" \"relationship-key\": \"cloud-region.cloud-owner\"," +
- " \"relationship-value\": \"att-aic\"" +
+ " \"relationship-value\": \"irma-aic\"" +
" }," +
" {" +
" \"relationship-key\": \"cloud-region.cloud-region-id\"," +
@@ -446,11 +467,11 @@ public class AaiClientTest {
" {" +
" \"related-to\": \"vserver\"," +
" \"relationship-label\": \"org.onap.relationships.inventory.Uses\"," +
- " \"related-link\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/rdm5b/tenants/tenant/db1818f7f2e34862b378bfb2cc520f91/vservers/vserver/5eef9f6d-9933-4bc6-9a1a-862d61309437\"," +
+ " \"related-link\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/rdm5b/tenants/tenant/db1818f7f2e34862b378bfb2cc520f91/vservers/vserver/5eef9f6d-9933-4bc6-9a1a-862d61309437\"," +
" \"relationship-data\": [" +
" {" +
" \"relationship-key\": \"cloud-region.cloud-owner\"," +
- " \"relationship-value\": \"att-aic\"" +
+ " \"relationship-value\": \"irma-aic\"" +
" }," +
" {" +
" \"relationship-key\": \"cloud-region.cloud-region-id\"," +
@@ -490,7 +511,7 @@ public class AaiClientTest {
GetTenantsResponse tenant = aaiClientMock.getHomingDataByVfModule("vnfInstanceId", "vfModuleId");
- Assert.assertEquals(tenant.cloudOwner,"att-aic");
+ Assert.assertEquals(tenant.cloudOwner,"irma-aic" );
Assert.assertEquals(tenant.cloudRegionID,"rdm5b");
Assert.assertEquals(tenant.tenantID,"db1818f7f2e34862b378bfb2cc520f91");
@@ -601,7 +622,7 @@ public class AaiClientTest {
// double each case to propagateExceptions = true/false, to verify that "don't propagate" really still work
ImmutableList.of(l.getLeft(), l.getRight(), true).toArray(),
ImmutableList.of(l.getLeft(), l.getRight(), false).toArray()
- )).collect(Collectors.toList()).toArray(new Object[][]{});
+ )).collect(toList()).toArray(new Object[][]{});
}
private static UncheckedBiConsumer<HttpsAuthClient, Client> mockExceptionOnClientProvider(Exception e) {
@@ -734,6 +755,83 @@ public class AaiClientTest {
};
}
+ @Test
+ public void testGetLatestVersionByInvariantId() throws IOException {
+
+ ModelVersions modelVersions = JACKSON_OBJECT_MAPPER.readValue("" +
+ "{\n" +
+ " \"results\": [\n" +
+ " {\n" +
+ " \"model\": {\n" +
+ " \"model-invariant-id\": \"f6342be5-d66b-4d03-a1aa-c82c3094c4ea\",\n" +
+ " \"model-type\": \"service\",\n" +
+ " \"resource-version\": \"1534274421300\"\n" +
+ " }\n" +
+ " },\n" +
+ " {\n" +
+ " \"model-ver\": {\n" +
+ " \"model-version-id\": \"a92f899d-a3ec-465b-baed-1663b0a5aee1\",\n" +
+ " \"model-name\": \"NCM_VLAN_SVC_ym161f\",\n" +
+ " \"model-version\": \"bbb\",\n" +
+ " \"distribution-status\": \"DISTRIBUTION_COMPLETE_OK\",\n" +
+ " \"model-description\": \"Network Collection service for vLAN tagging\",\n" +
+ " \"resource-version\": \"1534788756086\"\n" +
+ " }\n" +
+ " },\n" +
+ " {\n" +
+ " \"model-ver\": {\n" +
+ " \"model-version-id\": \"d2fda667-e92e-4cfa-9620-5da5de01a319\",\n" +
+ " \"model-name\": \"NCM_VLAN_SVC_ym161f\",\n" +
+ " \"model-version\": \"aaa\",\n" +
+ " \"distribution-status\": \"DISTRIBUTION_COMPLETE_OK\",\n" +
+ " \"model-description\": \"Network Collection service for vLAN tagging\",\n" +
+ " \"resource-version\": \"1534444087221\"\n" +
+ " }\n" +
+ " }]}", ModelVersions.class);
+
+
+ final AaiClient aaiClient = new AaiClient(null, null, null);
+
+ assertThat(aaiClient.toModelVerStream(modelVersions).collect(toList()),
+ containsInAnyOrder(
+ hasProperty("modelVersionId", is("a92f899d-a3ec-465b-baed-1663b0a5aee1")),
+ hasProperty("modelVersionId", is("d2fda667-e92e-4cfa-9620-5da5de01a319"))
+ ));
+
+ }
+
+ @DataProvider
+ public static Object[][] versionsDataProvider() {
+ return new Object[][] {
+ { Stream.of("10","20","30"), "30" },
+ { Stream.of("10","20","20"), "20" },
+ { Stream.of("c","b","a"), "c" },
+ { Stream.of("1.0","2.0","1.8"), "2.0" },
+ { Stream.of("1.0.7","2.0.2","2.0.9"), "2.0.9" },
+ { Stream.of("0","0","0"), "0" },
+ { Stream.of("","10"), "10" },
+
+ };
+ }
+
+ @Test(dataProvider = "versionsDataProvider")
+ public void maxModelVer(Stream<String> input, String expected) {
+ Stream<ModelVer> modelVerStream = input.map(version -> {
+ ModelVer mv = new ModelVer();
+ mv.setModelVersion(version);
+ return mv;
+ });
+
+ final AaiClient aaiClient = new AaiClient(null, null, null);
+
+ assertThat(aaiClient.maxModelVer(modelVerStream), hasProperty("modelVersion", is(expected)));
+ }
+
+ @Test(expectedExceptions = GenericUncheckedException.class)
+ public void maxModelVerException() {
+ final AaiClient aaiClient = new AaiClient(null, null, null);
+ aaiClient.maxModelVer(Stream.of(new ModelVer()));
+ }
@Test(dataProvider = "cloudRegionAndTenantDataProvider")
public void getCloudRegionAndTenantByVnfId(String tenantName, String cloudRegionId) throws JsonProcessingException {
SimpleResult tenant = new SimpleResult();
diff --git a/vid-app-common/src/test/java/org/onap/vid/aai/AaiResponseTranslatorTest.java b/vid-app-common/src/test/java/org/onap/vid/aai/AaiResponseTranslatorTest.java
index 12f7429eb..045488605 100644
--- a/vid-app-common/src/test/java/org/onap/vid/aai/AaiResponseTranslatorTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/aai/AaiResponseTranslatorTest.java
@@ -45,9 +45,9 @@ public class AaiResponseTranslatorTest {
" \"results\": [{" +
" \"id\": \"2979590232\"," +
" \"node-type\": \"cloud-region\"," +
- " \"url\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/SDNO-S-BcloudReg-E1802\"," +
+ " \"url\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/SDNO-S-BcloudReg-E1802\"," +
" \"properties\": {" +
- " \"cloud-owner\": \"att-aic\"," +
+ " \"cloud-owner\": \"irma-aic\"," +
" \"cloud-region-id\": \"THE-EXPECTED-REGION-ID\"," +
" \"sriov-automation\": false," +
" \"resource-version\": \"1513631040564\"" +
@@ -122,7 +122,7 @@ public class AaiResponseTranslatorTest {
"{" +
" \"results\": [{" +
" \"node-type\": \"cloud-region\"," +
- " \"url\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/att-aic/SDNO-S-BcloudReg-E1802\"," +
+ " \"url\": \"/aai/v12/cloud-infrastructure/cloud-regions/cloud-region/irma-aic/SDNO-S-BcloudReg-E1802\"," +
" \"properties\": {" +
" \"resource-version\": \"1513631040564\"" +
" }" +