summaryrefslogtreecommitdiffstats
path: root/catalog-be/src/test/java/org/openecomp/sdc/be/components/validation/ComponentValidationsTest.java
blob: a5679bceabedab90c0e4030f0d5ed6aa074350e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package org.openecomp.sdc.be.components.validation;

import javax.annotation.Generated;

import org.junit.Before;
import org.junit.Test;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.Mockito;
import org.mockito.MockitoAnnotations;
import org.openecomp.sdc.be.datatypes.elements.AdditionalInfoParameterDataDefinition;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.impl.GraphLockOperation;
import org.apache.commons.collections.CollectionUtils;
import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
import org.openecomp.sdc.be.dao.api.ActionStatus;
import org.openecomp.sdc.be.datatypes.enums.ComponentTypeEnum;
import org.openecomp.sdc.be.datatypes.enums.JsonPresentationFields;
import org.openecomp.sdc.be.datatypes.tosca.ToscaDataDefinition;
import org.openecomp.sdc.be.model.Component;
import org.openecomp.sdc.be.model.ComponentInstance;
import org.openecomp.sdc.be.model.ComponentParametersView;
import org.openecomp.sdc.be.model.GroupDefinition;
import org.openecomp.sdc.be.model.Resource;
import org.openecomp.sdc.be.model.jsontitan.operations.ToscaOperationFacade;
import org.openecomp.sdc.be.model.operations.StorageException;
import org.openecomp.sdc.be.model.operations.api.IGraphLockOperation;
import org.openecomp.sdc.be.model.operations.api.StorageOperationStatus;
import org.openecomp.sdc.be.model.operations.utils.ComponentValidationUtils;
import org.openecomp.sdc.common.util.ValidationUtils;

import fj.data.Either;
import mockit.Deencapsulation;

public class ComponentValidationsTest {

	@InjectMocks
	ComponentValidations testSubject;

	@Mock
	ToscaOperationFacade toscaOperationFacadeMock;

	@Mock
	GraphLockOperation graphLockOperationMock;

	@Before
	public void setUp() throws Exception {
		MockitoAnnotations.initMocks(this);
	}

	@Test
	public void testValidateComponentInstanceExist() throws Exception {
		Component component = new Resource();
		String instanceId = "";
		boolean result;

		// default test
		result = ComponentValidations.validateComponentInstanceExist(component, instanceId);
	}

	@Test
	public void testGetNormalizedName() throws Exception {
		ToscaDataDefinition toscaDataDefinition = new AdditionalInfoParameterDataDefinition();
		toscaDataDefinition.setToscaPresentationValue(JsonPresentationFields.NAME, "mock");
		String result;

		// default test
		result = ComponentValidations.getNormalizedName(toscaDataDefinition);
	}

	@Test
	public void testValidateNameIsUniqueInComponent() throws Exception {
		String currentName = "";
		String newName = "";
		String newName2 = "mock";
		Component component = new Resource();
		boolean result;

		// default test
		result = ComponentValidations.validateNameIsUniqueInComponent(currentName, newName, component);
		result = ComponentValidations.validateNameIsUniqueInComponent(currentName, newName2, component);
	}

	@Test(expected=ComponentException.class)
	public void testValidateComponentIsCheckedOutByUserAndLockIt() throws Exception {
		String componentId = "";
		String userId = "";
		Component result;
		
		Mockito.when(toscaOperationFacadeMock.getToscaElement(Mockito.anyString(), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(new Resource()));
		
		// default test
		result = testSubject.validateComponentIsCheckedOutByUserAndLockIt(ComponentTypeEnum.RESOURCE, componentId,
				userId);
	}

	@Test
	public void testGetComponent() throws Exception {
		String componentId = "mock";
		ComponentTypeEnum componentType = null;
		Component result;

		Mockito.when(toscaOperationFacadeMock.getToscaElement(Mockito.anyString(), Mockito.any(ComponentParametersView.class))).thenReturn(Either.left(new Resource()));
		
		// default test
		result = Deencapsulation.invoke(testSubject, "getComponent", componentId, ComponentTypeEnum.RESOURCE);
	}

	@Test(expected = StorageException.class)
	public void testLockComponent() throws Exception {
		Component component = new Resource();

		// default test
		Deencapsulation.invoke(testSubject, "lockComponent", component);
	}

	@Test(expected = StorageException.class)
	public void testOnToscaOperationError() throws Exception {
		Component result;

		// default test
		result = Deencapsulation.invoke(testSubject, "onToscaOperationError",
				StorageOperationStatus.ARTIFACT_NOT_FOUND);
	}
}