re base code
[sdc.git] / catalog-be / src / test / java / org / openecomp / sdc / be / components / validation / ComponentValidationsTest.java
1 package org.openecomp.sdc.be.components.validation;
2
3 import fj.data.Either;
4 import mockit.Deencapsulation;
5 import org.junit.Before;
6 import org.junit.Test;
7 import org.mockito.InjectMocks;
8 import org.mockito.Mock;
9 import org.mockito.Mockito;
10 import org.mockito.MockitoAnnotations;
11 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
12 import org.openecomp.sdc.be.datatypes.elements.AdditionalInfoParameterDataDefinition;
13 import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
14 import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
15 import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
16 import org.openecomp.sdc.be.model.Component;
17 import org.openecomp.sdc.be.model.ComponentParametersView;
18 import org.openecomp.sdc.be.model.LifecycleStateEnum;
19 import org.openecomp.sdc.be.model.Resource;
20 import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
21 import org.openecomp.sdc.be.model.operations.StorageException;
22 import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
23 import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
24
25 public class ComponentValidationsTest {
26
27         @InjectMocks
28         ComponentValidations testSubject;
29
30         @Mock
31         ToscaOperationFacade toscaOperationFacadeMock;
32
33         @Mock
34         GraphLockOperation graphLockOperationMock;
35
36         @Before
37         public void setUp() throws Exception {
38                 MockitoAnnotations.initMocks(this);
39         }
40
41         @Test
42         public void testValidateComponentInstanceExist() throws Exception {
43                 Component component = new Resource();
44                 String instanceId = "";
45                 boolean result;
46
47                 // default test
48                 result = ComponentValidations.validateComponentInstanceExist(component, instanceId);
49         }
50
51         @Test
52         public void testGetNormalizedName() throws Exception {
53                 ToscaDataDefinition toscaDataDefinition = new AdditionalInfoParameterDataDefinition();
54                 toscaDataDefinition.setToscaPresentationValue(JsonPresentationFields.NAME, "mock");
55                 String result;
56
57                 // default test
58                 result = ComponentValidations.getNormalizedName(toscaDataDefinition);
59         }
60
61         @Test
62         public void testValidateNameIsUniqueInComponent() throws Exception {
63                 String currentName = "";
64                 String newName = "";
65                 String newName2 = "mock";
66                 Component component = new Resource();
67                 boolean result;
68
69                 // default test
70                 result = ComponentValidations.validateNameIsUniqueInComponent(currentName, newName, component);
71                 result = ComponentValidations.validateNameIsUniqueInComponent(currentName, newName2, component);
72         }
73
74         @Test(expected=ComponentException.class)
75         public void testValidateComponentIsCheckedOutByUserAndLockIt() throws Exception {
76                 String componentId = "";
77                 String userId = "";
78                 Component result;
79                 Resource resource = new  Resource();
80                 resource.setLifecycleState(LifecycleStateEnum.CERTIFICATION_IN_PROGRESS);
81                 
82                 Mockito.when(toscaOperationFacadeMock.getToscaElement(Mockito.anyString(), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(resource));
83                 
84                 // default test
85                 result = testSubject.validateComponentIsCheckedOutByUser("",ComponentTypeEnum.RESOURCE,
86                                 userId);
87         }
88
89         @Test
90         public void testGetComponent() throws Exception {
91                 String componentId = "mock";
92                 ComponentTypeEnum componentType = null;
93                 Component result;
94                 Component resource = new Resource();
95                 resource.setComponentType(ComponentTypeEnum.RESOURCE);
96                 Mockito.when(toscaOperationFacadeMock.getToscaElement(Mockito.anyString(), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(resource));
97                 
98                 // default test
99                 result = Deencapsulation.invoke(testSubject, "getComponent", componentId, ComponentTypeEnum.RESOURCE);
100         }
101
102         @Test(expected = StorageException.class)
103         public void testOnToscaOperationError() throws Exception {
104                 Component result;
105
106                 // default test
107                 result = Deencapsulation.invoke(testSubject, "onToscaOperationError",
108                                 StorageOperationStatus.ARTIFACT_NOT_FOUND,"");
109         }
110 }