1 package org.openecomp.sdc.vendorsoftwareproduct.services;
3 import org.openecomp.sdc.vendorsoftwareproduct.dao.type.VspQuestionnaireEntity;
4 import org.openecomp.sdc.vendorsoftwareproduct.types.composition.CompositionEntityId;
5 import org.openecomp.sdc.versioning.dao.types.Version;
6 import org.openecomp.core.utilities.file.FileUtils;
8 import org.testng.Assert;
9 import org.testng.annotations.Test;
11 import java.util.Collection;
12 import java.util.List;
15 public class QuestionnaireSchemaTest {
17 public static final String VSP1 = "vsp1";
18 public static final String COMPONENT1 = "component1";
19 public static final String NIC1 = "nic1";
20 private static CompositionEntityDataManager compositionEntityDataManager =
21 new CompositionEntityDataManager();
22 private static Map<CompositionEntityId, Collection<String>> errorsById;
23 private static org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity componentEntity;
24 private static org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity nicEntity;
26 private static String loadFileToString(String path) {
27 return new String(FileUtils.toByteArray(FileUtils.loadFileToInputStream(path)));
31 public void testAddEntity() {
32 compositionEntityDataManager
33 .addEntity(new VspQuestionnaireEntity(VSP1, new Version(0, 1)), null);
35 componentEntity = new org.openecomp.sdc.vendorsoftwareproduct.dao.type.ComponentEntity(VSP1, new Version(0, 1), COMPONENT1);
36 nicEntity = new org.openecomp.sdc.vendorsoftwareproduct.dao.type.NicEntity(VSP1, new Version(0, 1), COMPONENT1, NIC1);
37 compositionEntityDataManager.addEntity(componentEntity, null);
39 componentEntity.setQuestionnaireData(loadFileToString("quesionnaire/validComponent.json"));
40 nicEntity.setQuestionnaireData(loadFileToString("quesionnaire/validNic.json"));
41 compositionEntityDataManager.addEntity(nicEntity, null);
44 @Test(dependsOnMethods = "testAddEntity")
45 public void testNicAndComponentValidQuestionnaire() {
46 errorsById = compositionEntityDataManager.validateEntitiesQuestionnaire();
47 Assert.assertEquals(errorsById.size(), 0);
50 @Test(dependsOnMethods = "testNicAndComponentValidQuestionnaire")
51 public void testComponentInvalidQuestionnaire() {
52 componentEntity.setQuestionnaireData(loadFileToString("quesionnaire/invalidComponent.json"));
53 compositionEntityDataManager.addEntity(componentEntity, null);
55 errorsById = compositionEntityDataManager.validateEntitiesQuestionnaire();
56 Assert.assertEquals(errorsById.size(), 1);
58 CompositionEntityId component = errorsById.keySet().iterator().next();
59 List<String> errors = (List<String>) errorsById.get(component);
60 Assert.assertEquals(errors.size(), 1);
61 Assert.assertEquals(errors.get(0),
62 "#/general/recovery/pointObjective: 20.0 is not lower or equal to 15");