[sdc] update to the current code base
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / impl / InputsBusinessLogicTest.java
1 package org.openecomp.sdc.be.components.impl;
2
3 import fj.data.Either;
4 import org.junit.Before;
5 import org.junit.Test;
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;
21
22 import java.util.ArrayList;
23 import java.util.Collections;
24 import java.util.HashMap;
25 import java.util.List;
26 import java.util.Map;
27
28 import static org.junit.Assert.assertEquals;
29 import static org.junit.Assert.assertTrue;
30
31 public class InputsBusinessLogicTest {
32
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";
37     @Mock
38     private ComponentsUtils componentsUtilsMock;
39
40     @Mock
41     private IUserBusinessLogic userAdminMock;
42
43     @Mock
44     private ToscaOperationFacade toscaOperationFacadeMock;
45
46     @InjectMocks
47     private InputsBusinessLogic testInstance;
48
49     private Service service;
50
51     @Before
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));
59
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);
66
67         Mockito.when(userAdminMock.getUser(USER_ID, false)).thenReturn(Either.left(new User()));
68     }
69
70     @Test
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);
76     }
77
78     @Test
79     public void getComponentInstanceInputs_emptyInputsMap() throws Exception {
80         service.setComponentInstancesInputs(Collections.emptyMap());
81         getComponents_emptyInputs(service);
82     }
83
84     @Test
85     public void getComponentInstanceInputs_nullInputsMap() throws Exception {
86         service.setComponentInstancesInputs(null);
87         getComponents_emptyInputs(service);
88     }
89
90     @Test
91     public void getComponentInstanceInputs_instanceHasNoInputs() throws Exception {
92         service.setComponentInstancesInputs(Collections.singletonMap("someInputId", new ArrayList<>()));
93         getComponents_emptyInputs(service);
94     }
95
96     @Test
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());
101     }
102
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());
107     }
108
109 }