1 package org.openecomp.sdc.be.components.impl;
4 import org.junit.Before;
6 import org.mockito.InjectMocks;
7 import org.mockito.Mock;
8 import org.mockito.Mockito;
9 import org.mockito.MockitoAnnotations;
10 import org.openecomp.sdc.be.dao.api.ActionStatus;
11 import org.openecomp.sdc.be.impl.ComponentsUtils;
12 import org.openecomp.sdc.be.model.ComponentInstance;
13 import org.openecomp.sdc.be.model.ComponentInstanceInput;
14 import org.openecomp.sdc.be.model.ComponentParametersView;
15 import org.openecomp.sdc.be.model.Service;
16 import org.openecomp.sdc.be.model.User;
17 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
18 import org.openecomp.sdc.be.model.operations.impl.PropertyOperation;
19 import org.openecomp.sdc.be.user.IUserBusinessLogic;
20 import org.openecomp.sdc.exception.ResponseFormat;
22 import java.util.ArrayList;
23 import java.util.Collections;
24 import java.util.HashMap;
25 import java.util.List;
28 import static org.junit.Assert.assertEquals;
29 import static org.junit.Assert.assertTrue;
31 public class InputsBusinessLogicTest {
33 private static final String COMPONENT_INSTANCE_ID = "instanceId";
34 private static final String COMPONENT_ID = "componentId";
35 private static final String USER_ID = "userId";
36 public static final String INSTANCE_INPUT_ID = "inputId";
38 private ComponentsUtils componentsUtilsMock;
41 private IUserBusinessLogic userAdminMock;
44 private ToscaOperationFacade toscaOperationFacadeMock;
47 private InputsBusinessLogic testInstance;
49 private Service service;
52 public void setUp() throws Exception {
53 MockitoAnnotations.initMocks(this);
54 service = new Service();
55 service.setUniqueId(COMPONENT_INSTANCE_ID);
56 ComponentInstance componentInstance = new ComponentInstance();
57 componentInstance.setUniqueId(COMPONENT_INSTANCE_ID);
58 service.setComponentInstances(Collections.singletonList(componentInstance));
60 Map<String, List<ComponentInstanceInput>> instanceInputMap = new HashMap<>();
61 ComponentInstanceInput componentInstanceInput = new ComponentInstanceInput();
62 componentInstanceInput.setInputId(INSTANCE_INPUT_ID);
63 instanceInputMap.put(COMPONENT_INSTANCE_ID, Collections.singletonList(componentInstanceInput));
64 instanceInputMap.put("someInputId", Collections.singletonList(new ComponentInstanceInput()));
65 service.setComponentInstancesInputs(instanceInputMap);
67 Mockito.when(userAdminMock.getUser(USER_ID, false)).thenReturn(Either.left(new User()));
71 public void getComponentInstanceInputs_ComponentInstanceNotExist() throws Exception {
72 Mockito.when(toscaOperationFacadeMock.getToscaElement(Mockito.eq(COMPONENT_ID), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(service));
73 Either<List<ComponentInstanceInput>, ResponseFormat> componentInstanceInputs = testInstance.getComponentInstanceInputs(USER_ID, COMPONENT_ID, "nonExisting");
74 assertTrue(componentInstanceInputs.isRight());
75 Mockito.verify(componentsUtilsMock).getResponseFormat(ActionStatus.COMPONENT_INSTANCE_NOT_FOUND);
79 public void getComponentInstanceInputs_emptyInputsMap() throws Exception {
80 service.setComponentInstancesInputs(Collections.emptyMap());
81 getComponents_emptyInputs(service);
85 public void getComponentInstanceInputs_nullInputsMap() throws Exception {
86 service.setComponentInstancesInputs(null);
87 getComponents_emptyInputs(service);
91 public void getComponentInstanceInputs_instanceHasNoInputs() throws Exception {
92 service.setComponentInstancesInputs(Collections.singletonMap("someInputId", new ArrayList<>()));
93 getComponents_emptyInputs(service);
97 public void getComponentInstanceInputs() throws Exception {
98 Mockito.when(toscaOperationFacadeMock.getToscaElement(Mockito.eq(COMPONENT_ID), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(service));
99 Either<List<ComponentInstanceInput>, ResponseFormat> componentInstanceInputs = testInstance.getComponentInstanceInputs(USER_ID, COMPONENT_ID, COMPONENT_INSTANCE_ID);
100 assertEquals("inputId", componentInstanceInputs.left().value().get(0).getInputId());
103 private void getComponents_emptyInputs(Service service) {
104 Mockito.when(toscaOperationFacadeMock.getToscaElement(Mockito.eq(COMPONENT_ID), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(service));
105 Either<List<ComponentInstanceInput>, ResponseFormat> componentInstanceInputs = testInstance.getComponentInstanceInputs(USER_ID, COMPONENT_ID, COMPONENT_INSTANCE_ID);
106 assertEquals(Collections.emptyList(), componentInstanceInputs.left().value());