aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-be/src/test')
-rw-r--r--catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InterfaceLifecycleTypeImportManagerTest.java65
-rw-r--r--catalog-be/src/test/resources/types/interfaceLifecycleTypes.yml46
2 files changed, 105 insertions, 6 deletions
diff --git a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InterfaceLifecycleTypeImportManagerTest.java b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InterfaceLifecycleTypeImportManagerTest.java
index 454f534cfa..21307ad608 100644
--- a/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InterfaceLifecycleTypeImportManagerTest.java
+++ b/catalog-be/src/test/java/org/openecomp/sdc/be/components/impl/InterfaceLifecycleTypeImportManagerTest.java
@@ -7,9 +7,9 @@
* 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.
@@ -21,6 +21,10 @@
package org.openecomp.sdc.be.components.impl;
import fj.data.Either;
+import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -41,6 +45,12 @@ import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.containsInAnyOrder;
+import static org.hamcrest.Matchers.empty;
+import static org.hamcrest.Matchers.hasSize;
+import static org.hamcrest.Matchers.not;
+import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.when;
@@ -62,6 +72,7 @@ public class InterfaceLifecycleTypeImportManagerTest {
});
when(commonImportManager.createElementTypesFromYml(Mockito.anyString(), Mockito.any())).thenCallRealMethod();
+ when(commonImportManager.createElementTypesFromToscaJsonMap(Mockito.any(), Mockito.any())).thenCallRealMethod();
}
@Before
@@ -70,11 +81,55 @@ public class InterfaceLifecycleTypeImportManagerTest {
}
@Test
- public void importLiecycleTest() throws IOException {
- String ymlContent = getYmlContent();
- Either<List<InterfaceDefinition>, ResponseFormat> createCapabilityTypes = importManager.createLifecycleTypes(ymlContent);
+ public void createLifecycleTypesTest() throws IOException {
+ final String ymlContent = getYmlContent();
+ final Either<List<InterfaceDefinition>, ResponseFormat> createCapabilityTypes =
+ importManager.createLifecycleTypes(ymlContent);
assertTrue(createCapabilityTypes.isLeft());
+ final List<InterfaceDefinition> interfaceDefinitionList = createCapabilityTypes.left().value();
+ assertThat("Interface definitions should not be empty", interfaceDefinitionList, is(not(empty())));
+ final int expectedSize = 2;
+ assertThat(String.format("Interface definitions should have the size %s", expectedSize),
+ interfaceDefinitionList, hasSize(expectedSize));
+ final String standardInterfaceType = "tosca.interfaces.node.lifecycle.Standard";
+ final String nslcmInterfaceType = "tosca.interfaces.nfv.Nslcm";
+ final Optional<InterfaceDefinition> standardInterfaceOpt = interfaceDefinitionList.stream().filter(
+ interfaceDefinition -> standardInterfaceType.equals(interfaceDefinition.getType()))
+ .findFirst();
+ final Optional<InterfaceDefinition> nslcmInterfaceOpt = interfaceDefinitionList.stream().filter(
+ interfaceDefinition -> nslcmInterfaceType.equals(interfaceDefinition.getType()))
+ .findFirst();
+ assertThat("", standardInterfaceOpt.isPresent(), is(true));
+ assertThat("", nslcmInterfaceOpt.isPresent(), is(true));
+ final InterfaceDefinition standardInterface = standardInterfaceOpt.get();
+ final Set<String> expectedStandardInterfaceOperationSet = Stream
+ .of("create", "configure", "start", "stop", "delete").collect(Collectors.toSet());
+ assertThat(String.format("%s derived_from should be as expected", standardInterfaceType),
+ standardInterface.getDerivedFrom(), is("tosca.interfaces.Root"));
+ assertThat(String.format("%s operations should have the expected size", standardInterfaceType),
+ standardInterface.getOperationsMap().keySet(), hasSize(expectedStandardInterfaceOperationSet.size()));
+ assertThat(String.format("%s should contains the expected operations", standardInterfaceType),
+ standardInterface.getOperationsMap().keySet(),
+ containsInAnyOrder(expectedStandardInterfaceOperationSet.toArray()));
+ final InterfaceDefinition nslcmInterface = nslcmInterfaceOpt.get();
+ assertThat(String.format("%s derived_from should be as expected", nslcmInterfaceType),
+ nslcmInterface.getDerivedFrom(), is("tosca.interfaces.Root"));
+ assertThat(String.format("%s description should be as expected", nslcmInterfaceType),
+ nslcmInterface.getDescription(),
+ is("This interface encompasses a set of TOSCA "
+ + "operations corresponding to NS LCM operations defined in ETSI GS NFV-IFA 013. as well as to preamble "
+ + "and postamble procedures to the execution of the NS LCM operations."));
+ final Set<String> expectedNsclmInterfaceOperationSet = Stream
+ .of("instantiate_start", "instantiate", "instantiate_end", "terminate_start", "terminate",
+ "terminate_end", "update_start", "update", "update_end", "scale_start", "scale", "scale_end",
+ "heal_start", "heal", "heal_end").collect(Collectors.toSet());
+ assertThat(String.format("%s operations should have the expected size", nslcmInterfaceType),
+ nslcmInterface.getOperationsMap().keySet(),
+ hasSize(expectedNsclmInterfaceOperationSet.size()));
+ assertThat(String.format("%s should contains the expected operations", nslcmInterfaceType),
+ nslcmInterface.getOperationsMap().keySet(),
+ containsInAnyOrder(expectedNsclmInterfaceOperationSet.toArray()));
}
private String getYmlContent() throws IOException {
diff --git a/catalog-be/src/test/resources/types/interfaceLifecycleTypes.yml b/catalog-be/src/test/resources/types/interfaceLifecycleTypes.yml
index 1b67118934..696e1d0797 100644
--- a/catalog-be/src/test/resources/types/interfaceLifecycleTypes.yml
+++ b/catalog-be/src/test/resources/types/interfaceLifecycleTypes.yml
@@ -1,4 +1,5 @@
tosca.interfaces.node.lifecycle.Standard:
+ derived_from: tosca.interfaces.Root
create:
description: Standard lifecycle create operation.
configure:
@@ -8,4 +9,47 @@ tosca.interfaces.node.lifecycle.Standard:
stop:
description: Standard lifecycle stop operation.
delete:
- description: Standard lifecycle delete operation. \ No newline at end of file
+ description: Standard lifecycle delete operation.
+tosca.interfaces.nfv.Nslcm:
+ derived_from: tosca.interfaces.Root
+ description: This interface encompasses a set of TOSCA operations corresponding to NS LCM operations defined in ETSI GS NFV-IFA 013. as well as to preamble and postamble procedures to the execution of the NS LCM operations.
+ version: "1.0.0"
+ metadata:
+ meta1: meta1
+ inputs:
+ input1:
+ type: string
+ operations:
+ instantiate_start:
+ description: Preamble to execution of the instantiate operation
+ instantiate:
+ description: Base procedure for instantiating an NS, corresponding to the Instantiate NS operation defined in GS NFV-IFA 013.
+ instantiate_end:
+ description: Postamble to the execution of the instantiate operation
+ terminate_start:
+ description: Preamble to execution of the terminate operation
+ terminate:
+ description: Base procedure for terminating an NS, corresponding to the Terminate NS operation defined in GS NFV-IFA 013.
+ terminate_end:
+ description: Postamble to the execution of the terminate operation
+ update_start:
+ description: Preamble to execution of the update operation
+ update:
+ description: Base procedure for updating an NS, corresponding to the Update NS operation defined in GS NFV-IFA 013.
+ update_end:
+ description: Postamble to the execution of the update operation
+ scale_start:
+ description: Preamble to execution of the scale operation
+ scale:
+ description: Base procedure for scaling an NS, corresponding to the Scale NS operation defined in GS NFV-IFA 013.
+ scale_end:
+ description: Postamble to the execution of the scale operation
+ heal_start:
+ description: Preamble to execution of the heal operation
+ heal:
+ description: Base procedure for healing an NS, corresponding to the Heal NS operation defined in GS NFV-IFA 013.
+ heal_end:
+ description: Postamble to the execution of the heal operation
+ notifications:
+ notification1:
+ description: notification1 description \ No newline at end of file