- private NonMetaArtifactInfo createNonMetaArtifactInfoTestSubject() {
- return new CsarUtils.NonMetaArtifactInfo("mock", "mock", ArtifactTypeEnum.AAI_SERVICE_MODEL.getType(),
- ArtifactGroupTypeEnum.DEPLOYMENT, new byte[0], "mock", true);
- }
-
- @Test
- public void testCreateCsar() {
- Component component = new Resource();
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class)))
- .thenReturn(Either.right(CassandraOperationStatus.GENERAL_ERROR));
-
- Mockito.when(componentsUtils.convertFromStorageResponse(Mockito.any(StorageOperationStatus.class)))
- .thenReturn(ActionStatus.GENERAL_ERROR);
-
- testSubject.createCsar(component, true, true);
- }
-
- @Test
- public void testCreateCsarWithGenerateCsarZipResponseIsLeft() {
- Component component = new Resource();
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
- DAOArtifactData artifactData = new DAOArtifactData();
- byte[] data = "value".getBytes();
- ByteBuffer bufferData = ByteBuffer.wrap(data);
- artifactData.setData(bufferData);
-
- ToscaTemplate toscaTemplate = new ToscaTemplate("version");
- List<Triple<String, String, Component>> dependencies = new ArrayList<>();
- toscaTemplate.setDependencies(dependencies);
-
- List<SdcSchemaFilesData> filesData = new ArrayList<>();
- SdcSchemaFilesData filedata = new SdcSchemaFilesData();
- filedata.setPayloadAsArray(data);
- filesData.add(filedata);
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
-
- Mockito.when(componentsUtils.convertFromStorageResponse(Mockito.any(StorageOperationStatus.class)))
- .thenReturn(ActionStatus.GENERAL_ERROR);
-
- Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
- .thenReturn(Either.left(toscaTemplate));
-
- Mockito.when(
- sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(Mockito.any(String.class), Mockito.any(String.class)))
- .thenReturn(Either.left(filesData));
-
- testSubject.createCsar(component, false, true);
- }
-
- @Test
- public void testPopulateZipWhenGetDependenciesIsRight() {
- Component component = new Service();
- boolean getFromCS = false;
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
- DAOArtifactData artifactData = new DAOArtifactData();
- byte[] data = "value".getBytes();
- ByteBuffer bufferData = ByteBuffer.wrap(data);
- artifactData.setData(bufferData);
-
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
-
- Mockito.when(toscaExportUtils.exportComponent(Mockito.any(Component.class))).thenReturn(Either.left(tosca));
-
- Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
- .thenReturn(Either.right(ToscaError.GENERAL_ERROR));
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, false);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testPopulateZipWhenExportComponentIsRight() {
- Component component = new Resource();
- boolean getFromCS = false;
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
- DAOArtifactData artifactData = new DAOArtifactData();
- byte[] data = "value".getBytes();
- ByteBuffer bufferData = ByteBuffer.wrap(data);
- artifactData.setData(bufferData);
-
- Mockito.when(toscaExportUtils.exportComponent(Mockito.any(Component.class)))
- .thenReturn(Either.right(ToscaError.GENERAL_ERROR));
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, false);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testPopulateZipWhenComponentIsServiceAndCollectComponentCsarDefinitionIsRight() {
- Component component = new Service();
- boolean getFromCS = false;
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- artifact.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
- artifact.setDescription("description");
- artifact.setArtifactLabel("artifactLabel");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
- component.setVersion("1.0");
- component.setLastUpdaterUserId("userId");
- component.setUniqueId("uid");
- DAOArtifactData artifactData = new DAOArtifactData();
- ByteBuffer bufferData = ByteBuffer.wrap(contentData);
- artifactData.setData(bufferData);
-
- List<SdcSchemaFilesData> filesData = new ArrayList<>();
- SdcSchemaFilesData filedata = new SdcSchemaFilesData();
- filedata.setPayloadAsArray(contentData);
- filesData.add(filedata);
-
- ToscaTemplate toscaTemplate = new ToscaTemplate("version");
- List<Triple<String, String, Component>> dependencies = new ArrayList<>();
- Triple<String, String, Component> triple = Triple.of("fileName", "cassandraId", component);
- dependencies.add(triple);
- toscaTemplate.setDependencies(dependencies);
-
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
-
- Mockito.when(toscaExportUtils.exportComponent(Mockito.any(Component.class))).thenReturn(Either.left(tosca));
-
- Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
- .thenReturn(Either.left(toscaTemplate));
-
- Mockito.when(
- sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(Mockito.any(String.class), Mockito.any(String.class)))
- .thenReturn(Either.left(filesData));
-
- Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class)))
- .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
- Mockito.when(artifactsBusinessLogic.validateUserExists(Mockito.any(User.class))).thenReturn(new User());
-
-
- Mockito.when(artifactsBusinessLogic.validateAndHandleArtifact(Mockito.any(String.class),
- Mockito.any(ComponentTypeEnum.class), Mockito.any(ArtifactOperationInfo.class), Mockito.isNull(),
- Mockito.any(ArtifactDefinition.class), Mockito.any(String.class), Mockito.any(String.class),
- Mockito.isNull(), Mockito.isNull(), Mockito.any(User.class), Mockito.any(Component.class),
- Mockito.any(Boolean.class), Mockito.any(Boolean.class), Mockito.any(Boolean.class)))
- .thenReturn(Either.left(Mockito.any(ArtifactDefinition.class)));
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testPopulateZipWhenGetEntryDataIsRight() {
- Component component = new Service();
- boolean getFromCS = true;
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- artifact.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
- artifact.setDescription("description");
- artifact.setArtifactLabel("artifactLabel");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
- component.setVersion("1.0");
- component.setLastUpdaterUserId("userId");
- component.setUniqueId("uid");
- DAOArtifactData artifactData = new DAOArtifactData();
- byte[] data = "value".getBytes();
- ByteBuffer bufferData = ByteBuffer.wrap(data);
- artifactData.setData(bufferData);
-
- ToscaTemplate toscaTemplate = new ToscaTemplate("version");
- List<Triple<String, String, Component>> dependencies = new ArrayList<>();
- Triple<String, String, Component> triple = Triple.of("fileName", "", component);
- dependencies.add(triple);
- toscaTemplate.setDependencies(dependencies);
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
-
- Mockito.when(toscaExportUtils.exportComponent(Mockito.any(Component.class)))
- .thenReturn(Either.right(ToscaError.GENERAL_ERROR));
-
- Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
- .thenReturn(Either.left(toscaTemplate));
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testPopulateZipWhenGetEntryDataOfInnerComponentIsRight() {
- Component component = new Service();
- boolean getFromCS = false;
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- artifact.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
- artifact.setDescription("description");
- artifact.setArtifactLabel("artifactLabel");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
- component.setVersion("1.0");
- component.setLastUpdaterUserId("userId");
- component.setUniqueId("uid");
- DAOArtifactData artifactData = new DAOArtifactData();
- ByteBuffer bufferData = ByteBuffer.wrap(contentData);
- artifactData.setData(bufferData);
-
- ToscaTemplate toscaTemplate = new ToscaTemplate("version");
- List<Triple<String, String, Component>> dependencies = new ArrayList<>();
- Triple<String, String, Component> triple = Triple.of("fileName", "", component);
- dependencies.add(triple);
- toscaTemplate.setDependencies(dependencies);
-
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml(new String(contentData, StandardCharsets.UTF_8));
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
-
- Mockito.when(toscaExportUtils.exportComponent(Mockito.any(Component.class))).thenReturn(Either.left(tosca),
- Either.left(tosca), Either.right(ToscaError.GENERAL_ERROR));
-
- Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
- .thenReturn(Either.left(toscaTemplate));
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testPopulateZipWhenLatestSchemaFilesFromCassandraIsRight() {
- Component component = new Service();
- boolean getFromCS = false;
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- artifact.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
- artifact.setDescription("description");
- artifact.setArtifactLabel("artifactLabel");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- component.setToscaArtifacts(toscaArtifacts);
- component.setDeploymentArtifacts(toscaArtifacts);
- component.setArtifacts(toscaArtifacts);
- component.setLifecycleState(LifecycleStateEnum.NOT_CERTIFIED_CHECKIN);
- component.setVersion("1.0");
- component.setLastUpdaterUserId("userId");
- component.setUniqueId("uid");
- DAOArtifactData artifactData = new DAOArtifactData();
- ByteBuffer bufferData = ByteBuffer.wrap(contentData);
- artifactData.setData(bufferData);
-
- ToscaTemplate toscaTemplate = new ToscaTemplate("version");
- List<Triple<String, String, Component>> dependencies = new ArrayList<>();
- Triple<String, String, Component> triple = Triple.of("fileName", "", component);
- dependencies.add(triple);
- toscaTemplate.setDependencies(dependencies);
-
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml(new String(contentData, StandardCharsets.UTF_8));
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class))).thenReturn(Either.left(artifactData));
-
- Mockito.when(toscaExportUtils.exportComponent(Mockito.any(Component.class))).thenReturn(Either.left(tosca));
-
- Mockito.when(toscaExportUtils.getDependencies(Mockito.any(Component.class)))
- .thenReturn(Either.left(toscaTemplate));
-
- Mockito.when(
- sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(Mockito.any(String.class), Mockito.any(String.class)))
- .thenReturn(Either.right(CassandraOperationStatus.GENERAL_ERROR));
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out);) {
- Deencapsulation.invoke(testSubject, "populateZip", component, getFromCS, zip, true);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Test
- public void testAddInnerComponentsToCache() {
- ComponentCache componentCache = ComponentCache.overwritable(overwriteIfSameVersions());
- Component childComponent = new Resource();
- Component componentRI = new Service();
- List<ComponentInstance> componentInstances = new ArrayList<>();
- ComponentInstance instance = new ComponentInstance();
- instance.setComponentUid("resourceUid");
- componentInstances.add(instance);
- childComponent.setComponentInstances(componentInstances);
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- artifact.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
- artifact.setDescription("description");
- artifact.setArtifactLabel("artifactLabel");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- componentRI.setToscaArtifacts(toscaArtifacts);
-
- Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class)))
- .thenReturn(Either.left(componentRI));
-
- Deencapsulation.invoke(testSubject, "addInnerComponentsToCache", componentCache, childComponent);
-
- io.vavr.collection.List<CacheEntry> expected = io.vavr.collection.List.of(entry("esId","artifactName",componentRI));
- assertEquals(expected, componentCache.all().toList());
- }
-
- @Test
- public void testAddInnerComponentsToCacheWhenGetToscaElementIsRight() {
- Map<String, ImmutableTriple<String, String, Component>> componentCache = new HashMap<>();
- Component childComponent = new Resource();
-
- List<ComponentInstance> componentInstances = new ArrayList<>();
- ComponentInstance instance = new ComponentInstance();
- instance.setComponentUid("abc");
- componentInstances.add(instance);
- childComponent.setComponentInstances(componentInstances);
-
- Map<String, ArtifactDefinition> toscaArtifacts = new HashMap<>();
- ArtifactDefinition artifact = new ArtifactDefinition();
- artifact.setArtifactName("artifactName");
- artifact.setEsId("esId");
- artifact.setArtifactUUID("artifactUUID");
- artifact.setArtifactType("YANG");
- artifact.setArtifactGroupType(ArtifactGroupTypeEnum.DEPLOYMENT);
- artifact.setDescription("description");
- artifact.setArtifactLabel("artifactLabel");
- toscaArtifacts.put("assettoscatemplate", artifact);
-
- Component componentRI = new Service();
-
- componentRI.setToscaArtifacts(toscaArtifacts);
-
- Mockito.when(toscaOperationFacade.getToscaElement(Mockito.any(String.class)))
- .thenReturn(Either.right(StorageOperationStatus.BAD_REQUEST));
-
-
- assertTrue(componentCache.isEmpty());
- }
-
- @Test
- public void testWriteComponentInterface() throws IOException {
- String fileName = "name.hello";
- ToscaRepresentation tosca = new ToscaRepresentation();
- tosca.setMainYaml("value");
-
- Mockito.when(toscaExportUtils.exportComponentInterface(Mockito.any(Component.class), Mockito.any(Boolean.class)))
- .thenReturn(Either.left(tosca));
-
-
- try (ByteArrayOutputStream out = new ByteArrayOutputStream(); ZipOutputStream zip = new ZipOutputStream(out)) {
- Either<ZipOutputStream, ResponseFormat> output = Deencapsulation.invoke(testSubject, "writeComponentInterface", new Resource(), zip, fileName, false);
-
- assertNotNull(output);
- assertTrue(output.isLeft());
- }
- }
-
- @Test
- public void testGetEntryData() {
- String cassandraId = "id";
- Component childComponent = new Resource();
-
- Mockito.when(artifactCassandraDao.getArtifact(Mockito.any(String.class)))
- .thenReturn(Either.right(CassandraOperationStatus.GENERAL_ERROR));
-
- Either<byte[], ActionStatus> output = Deencapsulation.invoke(testSubject, "getEntryData", cassandraId, childComponent);
-
- assertNotNull(output);
- assertTrue(output.isRight());
- }
-
- @Test
- public void testGetLatestSchemaFilesFromCassandraWhenListOfSchemasIsEmpty() {
- List<SdcSchemaFilesData> filesData = new ArrayList<>();
-
- Mockito.when(
- sdcSchemaFilesCassandraDao.getSpecificSchemaFiles(Mockito.any(String.class), Mockito.any(String.class)))
- .thenReturn(Either.left(filesData));
-
- Either<byte[], ResponseFormat> output = Deencapsulation.invoke(testSubject, "getLatestSchemaFilesFromCassandra");
-
- assertNotNull(output);
- assertTrue(output.isRight());
- }
-
- @Test
- public void testExtractVfcsArtifactsFromCsar() {
- String key = "Artifacts/org.openecomp.resource.some/Deployment/to/resource";
- byte[] data = "value".getBytes();