1 package org.onap.sdc.workflow.persistence.impl;
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;
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;
30 @RunWith(MockitoJUnitRunner.class)
31 public class ParameterRepositoryTest {
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";
38 private ZusammenAdaptor zusammenAdaptorMock;
41 private ParameterRepositoryImpl parameterRepository;
45 SessionContextProviderFactory.getInstance().createInterface().create("test_user", "workflow");
49 public void shouldGetParameterById() {
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),
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());
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);
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"));
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"));
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"));