1 package org.openecomp.sdc.be.components.impl;
3 import com.google.common.collect.ImmutableList;
6 import org.junit.runner.RunWith;
7 import org.mockito.InjectMocks;
8 import org.mockito.Mock;
9 import org.mockito.junit.MockitoJUnitRunner;
10 import org.openecomp.sdc.be.dao.api.ActionStatus;
11 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
12 import org.openecomp.sdc.be.impl.ComponentsUtils;
13 import org.openecomp.sdc.be.model.Component;
14 import org.openecomp.sdc.be.model.ComponentParametersView;
15 import org.openecomp.sdc.be.model.User;
16 import org.openecomp.sdc.be.model.jsontitan.operations.ArchiveOperation;
17 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
18 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
19 import org.openecomp.sdc.be.resources.data.auditing.AuditingActionEnum;
20 import org.openecomp.sdc.exception.ResponseFormat;
22 import java.util.Arrays;
23 import java.util.List;
25 import static org.mockito.ArgumentMatchers.any;
26 import static org.mockito.ArgumentMatchers.eq;
27 import static org.mockito.Mockito.*;
29 @RunWith(MockitoJUnitRunner.class)
30 public class ArchiveBusinessLogicTest {
32 private ComponentsUtils componentsUtils;
34 private ToscaOperationFacade toscaOperationFacade;
38 private ResponseFormat responseFormat;
40 private Component component;
43 private ArchiveBusinessLogic archiveBusinessLogic;
46 public void auditLastComponentVersionOnlyAndIgnorePreviousVersions() {
47 List<String> archivedCompIds = Arrays.asList("1", "2", "3", "4", "5");
48 when(toscaOperationFacade.getToscaElement(any(String.class), any(ComponentParametersView.class)))
49 .thenReturn(Either.left(component));
50 when(componentsUtils.getResponseFormat(ActionStatus.OK)).thenReturn(responseFormat);
51 when(component.getUUID())
58 archiveBusinessLogic.auditAction(ArchiveOperation.Action.ARCHIVE, archivedCompIds, user, ComponentTypeEnum.RESOURCE_PARAM_NAME);
59 verify(componentsUtils, times(3)).auditComponentAdmin(eq(responseFormat), eq(user), eq(component),
60 eq(AuditingActionEnum.ARCHIVE_COMPONENT), eq(ComponentTypeEnum.RESOURCE), any(String.class));
65 public void auditLastComponentVersionOnly() {
66 List<String> archivedCompIds = Arrays.asList("1", "2", "3", "4", "5");
67 when(toscaOperationFacade.getToscaElement(any(String.class), any(ComponentParametersView.class)))
68 .thenReturn(Either.left(component));
69 when(componentsUtils.getResponseFormat(ActionStatus.OK)).thenReturn(responseFormat);
70 when(component.getUUID())
77 archiveBusinessLogic.auditAction(ArchiveOperation.Action.RESTORE, archivedCompIds, user, ComponentTypeEnum.RESOURCE_PARAM_NAME);
78 verify(componentsUtils, times(5)).auditComponentAdmin(eq(responseFormat), eq(user), eq(component),
79 eq(AuditingActionEnum.RESTORE_COMPONENT), eq(ComponentTypeEnum.RESOURCE), any(String.class));
84 public void noAuditDoneForEmptyList() {
85 List<String> archivedCompIds = ImmutableList.of();
86 archiveBusinessLogic.auditAction(ArchiveOperation.Action.RESTORE, archivedCompIds, user, ComponentTypeEnum.RESOURCE_PARAM_NAME);
87 verify(componentsUtils, times(0)).auditComponentAdmin(any(ResponseFormat.class), any(User.class), any(Component.class),
88 any(AuditingActionEnum.class), any(ComponentTypeEnum.class), any(String.class));
93 public void noAuditOnErrorGetElementResponse() {
94 List<String> archivedCompIds = Arrays.asList("1", "2", "3", "4", "5");
95 when(toscaOperationFacade.getToscaElement(any(String.class), any(ComponentParametersView.class)))
96 .thenReturn(Either.right(StorageOperationStatus.NOT_FOUND));
97 archiveBusinessLogic.auditAction(ArchiveOperation.Action.RESTORE, archivedCompIds, user, ComponentTypeEnum.RESOURCE_PARAM_NAME);
98 verify(componentsUtils, times(0)).auditComponentAdmin(any(ResponseFormat.class), any(User.class), any(Component.class),
99 any(AuditingActionEnum.class), any(ComponentTypeEnum.class), any(String.class));