From bd2841ad36ef57983f8669b470e661d46d309012 Mon Sep 17 00:00:00 2001 From: Yarin Dekel Date: Wed, 26 Dec 2018 13:14:01 +0200 Subject: WF-validation to empty artifact Issue-ID: SDC-2023 Change-Id: Idcc690cfad19da0d29232c93b202042f6230ffaf Signed-off-by: Yarin Dekel --- .../services/impl/WorkflowVersionManagerImpl.java | 7 ++++--- .../services/impl/WorkflowVersionManagerImplTest.java | 19 ++++++++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'workflow-designer-be/src') diff --git a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java index 0078d226..33210778 100644 --- a/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java +++ b/workflow-designer-be/src/main/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImpl.java @@ -232,9 +232,10 @@ public class WorkflowVersionManagerImpl implements WorkflowVersionManager { workflowId, versionId); throw new VersionModificationException(workflowId, versionId); } - - artifactRepository.delete(workflowId, versionId); - versioningManager.publish(workflowId, new Version(versionId), "Delete Artifact"); + if(retrievedVersion.isHasArtifact()) { + artifactRepository.delete(workflowId, versionId); + versioningManager.publish(workflowId, new Version(versionId), "Delete Artifact"); + } } private void validateVersionExistAndCertified(String workflowId, List versions, String versionId) { diff --git a/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImplTest.java b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImplTest.java index 640d3e8b..8e714f62 100644 --- a/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImplTest.java +++ b/workflow-designer-be/src/test/java/org/onap/sdc/workflow/services/impl/WorkflowVersionManagerImplTest.java @@ -399,15 +399,28 @@ public class WorkflowVersionManagerImplTest { } @Test - public void shouldDeleteArtifact() { + public void shouldNotDeleteArtifactIfNotExist() { doNothing().when(workflowVersionManager).validateWorkflowStatus(ITEM1_ID); Version version = new Version(VERSION1_ID); doReturn(version).when(versioningManagerMock).get(ITEM1_ID, version); WorkflowVersion workflowVersion = new WorkflowVersion(VERSION1_ID); doReturn(workflowVersion).when(versionMapperMock).versionToWorkflowVersion(version); workflowVersionManager.deleteArtifact(ITEM1_ID, VERSION1_ID); - verify(artifactRepositoryMock).delete(ITEM1_ID, VERSION1_ID); - verify(versioningManagerMock).publish(ITEM1_ID, version, "Delete Artifact"); + verify(artifactRepositoryMock, times(0)).delete(ITEM1_ID, VERSION1_ID); + verify(versioningManagerMock, times(0)).publish(ITEM1_ID, version, "Delete Artifact"); + } + + @Test + public void shouldDeleteArtifactIfExist() { + doNothing().when(workflowVersionManager).validateWorkflowStatus(ITEM1_ID); + Version version = new Version(VERSION1_ID); + doReturn(version).when(versioningManagerMock).get(ITEM1_ID, version); + WorkflowVersion workflowVersion = new WorkflowVersion(VERSION1_ID); + doReturn(true).when(artifactRepositoryMock).isExist(ITEM1_ID, VERSION1_ID); + doReturn(workflowVersion).when(versionMapperMock).versionToWorkflowVersion(version); + workflowVersionManager.deleteArtifact(ITEM1_ID, VERSION1_ID); + verify(artifactRepositoryMock, times(1)).delete(ITEM1_ID, VERSION1_ID); + verify(versioningManagerMock, times(1)).publish(ITEM1_ID, version, "Delete Artifact"); } private static Version eqVersion(String versionId) { -- cgit 1.2.3-korg