diff options
author | Einat Vinouze <einat.vinouze@intl.att.com> | 2019-07-16 17:17:36 +0300 |
---|---|---|
committer | Ittay Stern <ittay.stern@att.com> | 2019-07-30 06:01:44 +0300 |
commit | e601bbdc43bae9a08e2e10c5139a6f76b47860d7 (patch) | |
tree | 1913f0b369ead3f2ea5557e5649d8281eca9871c /vid-app-common/src/test/java/org/onap/vid/aai | |
parent | 76c6ee4a697617ec4cdee2f3b48bc83136c858c5 (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')
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\"" + " }" + |