4ddd8d488deea1d3df32723d9c6cb5f7cce4a8d3
[sdc/sdc-workflow-designer.git] /
1 package org.onap.sdc.workflow.persistence.impl;
2
3 import static org.junit.Assert.assertEquals;
4 import static org.mockito.Mockito.verify;
5 import static org.mockito.Matchers.any;
6 import static org.mockito.Matchers.eq;
7 import static org.mockito.Mockito.doReturn;
8 import static org.mockito.Mockito.times;
9
10 import com.amdocs.zusammen.adaptor.inbound.api.types.item.ZusammenElement;
11 import com.amdocs.zusammen.datatypes.Id;
12 import com.amdocs.zusammen.datatypes.SessionContext;
13 import com.amdocs.zusammen.datatypes.item.ElementContext;
14 import com.amdocs.zusammen.datatypes.item.Info;
15 import java.util.Optional;
16 import org.junit.Before;
17 import org.junit.Test;
18 import org.junit.runner.RunWith;
19 import org.mockito.InjectMocks;
20 import org.mockito.Mock;
21 import org.mockito.Spy;
22 import org.mockito.junit.MockitoJUnitRunner;
23 import org.onap.sdc.workflow.persistence.types.ParameterEntity;
24 import org.onap.sdc.workflow.persistence.types.ParameterPropertyName;
25 import org.onap.sdc.workflow.persistence.types.ParameterRole;
26 import org.onap.sdc.workflow.persistence.types.ParameterType;
27 import org.openecomp.core.zusammen.api.ZusammenAdaptor;
28 import org.openecomp.sdc.common.session.SessionContextProviderFactory;
29
30 @RunWith(MockitoJUnitRunner.class)
31 public class ParameterRepositoryTest {
32
33     private static final String ITEM1_ID = "item_id_1";
34     private static final String VERSION1_ID = "version_id_1";
35     private static final String PARAMETER1_ID = "parameter_id_1";
36
37     @Mock
38     private ZusammenAdaptor zusammenAdaptorMock;
39     @Spy
40     @InjectMocks
41     private ParameterRepositoryImpl parameterRepository;
42
43     @Before
44     public void setUp() {
45         SessionContextProviderFactory.getInstance().createInterface().create("test_user", "workflow");
46     }
47
48     /*@Test
49     public void shouldGetParameterById() {
50
51         ZusammenElement element = new ZusammenElement();
52         element.setElementId(new Id(PARAMETER1_ID));
53         Info info = new Info();
54         info.setName("testInput");
55         info.addProperty(ParameterPropertyName.TYPE.name(),ParameterType.FLOAT.name());
56         info.addProperty(ParameterPropertyName.mandatory.name(),true);
57         element.setInfo(info);
58         doReturn(Optional.of(element)).when(zusammenAdaptorMock)
59                                       .getElement(any(SessionContext.class), any(ElementContext.class),
60                                               eq(PARAMETER1_ID));
61         ParameterEntity result = parameterRepository.get(ITEM1_ID, VERSION1_ID, PARAMETER1_ID);
62         verify(parameterRepository,times(1)).elementToParameterEntity(element);
63         verify(zusammenAdaptorMock).getElement(any(SessionContext.class), any(ElementContext.class),eq(PARAMETER1_ID));
64         assertEquals("testInput",result.getName());
65
66     }*/
67
68
69     @Test
70     public void shouldUpdateParameter() {
71         ParameterEntity parameterEntityToUpdate = new ParameterEntity();
72         parameterEntityToUpdate.setId(PARAMETER1_ID);
73         parameterEntityToUpdate.setName("Input1");
74         parameterEntityToUpdate.setMandatory(true);
75         parameterEntityToUpdate.setType(ParameterType.STRING);
76
77         parameterRepository.update(ITEM1_ID, VERSION1_ID, ParameterRole.INPUT, parameterEntityToUpdate);
78         verify(zusammenAdaptorMock)
79                 .saveElement(any(SessionContext.class), any(ElementContext.class), any(ZusammenElement.class),
80                         eq("Update WorkflowVersion Parameter"));
81
82     }
83
84     @Test
85     public void shouldCreateParameterStructure(){
86         parameterRepository.createStructure(ITEM1_ID,VERSION1_ID);
87         verify(zusammenAdaptorMock)
88                 .saveElement(any(SessionContext.class), any(ElementContext.class), any(ZusammenElement.class),
89                         eq("Create WorkflowVersion INPUTS Element"));
90         verify(zusammenAdaptorMock)
91                 .saveElement(any(SessionContext.class), any(ElementContext.class), any(ZusammenElement.class),
92                         eq("Create WorkflowVersion OUTPUTS Element"));
93     }
94
95     @Test
96     public void shouldDeleteParameter() {
97         parameterRepository.delete(ITEM1_ID, VERSION1_ID, PARAMETER1_ID);
98         verify(zusammenAdaptorMock)
99                 .saveElement(any(SessionContext.class), any(ElementContext.class), any(ZusammenElement.class),
100                         eq("Delete Parameter with id parameter_id_1"));
101     }
102
103
104
105
106
107
108
109 }