2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.openecomp.sdc.be.components.merge.instance;
23 import org.junit.Before;
24 import org.junit.Test;
25 import org.junit.runner.RunWith;
26 import org.mockito.InjectMocks;
27 import org.mockito.Mock;
28 import org.mockito.junit.MockitoJUnitRunner;
29 import org.openecomp.sdc.be.components.impl.exceptions.ComponentException;
30 import org.openecomp.sdc.be.config.ConfigurationManager;
31 import org.openecomp.sdc.be.dao.api.ActionStatus;
32 import org.openecomp.sdc.be.impl.ComponentsUtils;
33 import org.openecomp.sdc.be.model.CapabilityDefinition;
34 import org.openecomp.sdc.be.model.Component;
35 import org.openecomp.sdc.be.model.ComponentInstance;
36 import org.openecomp.sdc.be.model.Resource;
37 import org.openecomp.sdc.be.model.Service;
38 import org.openecomp.sdc.be.model.User;
40 import java.util.Collections;
41 import java.util.List;
42 import org.openecomp.sdc.common.impl.ExternalConfiguration;
43 import org.openecomp.sdc.common.impl.FSConfigurationSource;
45 import static org.junit.Assert.assertTrue;
46 import static org.mockito.Mockito.when;
48 @RunWith(MockitoJUnitRunner.class)
49 public class ComponentInstanceCapabilitiesPropertiesMergeTest {
52 private ComponentInstanceCapabilitiesPropertiesMerge testInstance;
55 private ComponentCapabilitiesPropertiesMergeBL capabilitiesPropertiesMergeBL;
58 private ComponentsUtils componentsUtils;
60 private DataForMergeHolder mergeHolder;
62 private Resource origInstanceNode;
63 private List<CapabilityDefinition> origInstanceCapabilities;
66 public void setUp() throws Exception {
67 origInstanceNode = new Resource();
68 origInstanceCapabilities = Collections.emptyList();
69 mergeHolder = new DataForMergeHolder();
70 mergeHolder.setOrigInstanceNode(origInstanceNode);
71 mergeHolder.setOrigInstanceCapabilities(origInstanceCapabilities);
72 new ConfigurationManager(new FSConfigurationSource(ExternalConfiguration.getChangeListener(), "src/test/resources/config/catalog-be"));
76 public void mergeDataAfterCreate() {
77 Service currentComponent = new Service();
78 when(capabilitiesPropertiesMergeBL.mergeComponentInstanceCapabilities(currentComponent, origInstanceNode, "instId", origInstanceCapabilities))
79 .thenReturn(ActionStatus.OK);
80 Component mergeResult = testInstance.mergeDataAfterCreate(new User(), mergeHolder, currentComponent, "instId");
81 assertTrue(mergeResult != null);
84 @Test(expected = ComponentException.class)
85 public void mergeDataAfterCreate_error() {
86 Service currentComponent = new Service();
87 when(capabilitiesPropertiesMergeBL.mergeComponentInstanceCapabilities(currentComponent, origInstanceNode, "instId", origInstanceCapabilities))
88 .thenReturn(ActionStatus.GENERAL_ERROR);
89 testInstance.mergeDataAfterCreate(new User(), mergeHolder, currentComponent, "instId");
93 public void testSaveDataBeforeMerge() {
94 DataForMergeHolder dataHolder = new DataForMergeHolder();
95 Component containerComponent = new Resource();
96 ComponentInstance currentResourceInstance = new ComponentInstance();
97 Component originComponent = new Resource();
98 testInstance.saveDataBeforeMerge(dataHolder, containerComponent, currentResourceInstance, originComponent);