Openstack adapter can't resolve HEAT parameter
[so.git] / bpmn / so-bpmn-tasks / src / test / java / org / onap / so / bpmn / infrastructure / validations / CloudRegionOrchestrationValidatorTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 - 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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.onap.so.bpmn.infrastructure.validations;
22
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertTrue;
26 import static org.mockito.Mockito.doReturn;
27 import static org.mockito.Mockito.mock;
28 import java.util.Optional;
29 import java.util.Set;
30
31 import org.junit.Before;
32 import org.junit.Test;
33 import org.onap.so.bpmn.common.BuildingBlockExecution;
34 import org.onap.so.bpmn.servicedecomposition.bbobjects.CloudRegion;
35 import org.onap.so.bpmn.servicedecomposition.entities.GeneralBuildingBlock;
36
37 public class CloudRegionOrchestrationValidatorTest {
38         
39         private BuildingBlockExecution mockExecution;
40         private CloudRegion cloudRegion;
41         
42         @Before
43         public void setUp() {
44                 cloudRegion = new CloudRegion();
45                 cloudRegion.setCloudOwner("CloudOwner");
46                 cloudRegion.setLcpCloudRegionId("my-region-id");
47                 GeneralBuildingBlock gbb = new GeneralBuildingBlock();
48                 gbb.setCloudRegion(cloudRegion);
49                 mockExecution = mock(BuildingBlockExecution.class);
50                 doReturn(gbb).when(mockExecution).getGeneralBuildingBlock();
51         }
52         
53         @Test
54         public void validateDisabledTest() {
55                 cloudRegion.setOrchestrationDisabled(true);
56                 CloudRegionOrchestrationValidator validation = new CloudRegionOrchestrationValidator();
57                 Optional<String> result = validation.validate(mockExecution);
58                 assertEquals("Error: The request has failed due to orchestration currently disabled for the target cloud region my-region-id for cloud owner CloudOwner",
59                                 result.get());
60         }
61         
62         @Test
63         public void validateNotDisabledTest() {
64                 cloudRegion.setOrchestrationDisabled(false);
65                 CloudRegionOrchestrationValidator validation = new CloudRegionOrchestrationValidator();
66                 Optional<String> result = validation.validate(mockExecution);
67                 assertFalse(result.isPresent());
68         }
69         
70         @Test
71         public void validateDisabledIsNullTest() {
72                 CloudRegionOrchestrationValidator validation = new CloudRegionOrchestrationValidator();
73                 Optional<String> result = validation.validate(mockExecution);
74                 assertFalse(result.isPresent());
75         }
76
77         @Test
78         public void shouldRunForTest() {
79                 CloudRegionOrchestrationValidator validator = new CloudRegionOrchestrationValidator();
80                 assertTrue(validator.shouldRunFor("ActivateNetworkBB"));
81                 assertTrue(validator.shouldRunFor("AssignNetworkBB"));
82                 assertTrue(validator.shouldRunFor("CreateNetworkBB"));
83                 assertTrue(validator.shouldRunFor("DeactivateNetworkBB"));
84                 assertTrue(validator.shouldRunFor("DeleteNetworkBB"));
85                 assertTrue(validator.shouldRunFor("UnassignNetworkBB"));
86                 assertTrue(validator.shouldRunFor("UpdateNetworkBB"));
87                 
88                 assertTrue(validator.shouldRunFor("ActivateVnfBB"));
89                 assertTrue(validator.shouldRunFor("AssignVnfBB"));
90                 assertTrue(validator.shouldRunFor("UnassignVnfBB"));
91                 assertTrue(validator.shouldRunFor("DeactivateVnfBB"));
92
93                 assertTrue(validator.shouldRunFor("ActivateVfModuleBB"));
94                 assertTrue(validator.shouldRunFor("AssignVfModuleBB"));
95                 assertTrue(validator.shouldRunFor("CreateVfModuleBB"));
96                 assertTrue(validator.shouldRunFor("DeactivateVfModuleBB"));
97                 assertTrue(validator.shouldRunFor("DeleteVfModuleBB"));
98                 assertTrue(validator.shouldRunFor("UnassignVfModuleBB"));
99                 
100                 assertTrue(validator.shouldRunFor("ActivateVolumeGroupBB"));
101                 assertTrue(validator.shouldRunFor("AssignVolumeGroupBB"));
102                 assertTrue(validator.shouldRunFor("CreateVolumeGroupBB"));
103                 assertTrue(validator.shouldRunFor("DeactivateVolumeGroupBB"));
104                 assertTrue(validator.shouldRunFor("DeleteVolumeGroupBB"));
105                 assertTrue(validator.shouldRunFor("UnassignVolumeGroupBB"));
106                 
107                 assertTrue(validator.shouldRunFor("ActivateFabricConfigurationBB"));
108                 assertTrue(validator.shouldRunFor("AssignFabricConfigurationBB"));
109                 assertTrue(validator.shouldRunFor("UnassignFabricConfigurationBB"));
110                 assertTrue(validator.shouldRunFor("DeactivateFabricConfigurationBB"));
111                 
112                 assertFalse(validator.shouldRunFor("AssignServiceInstanceBB"));
113                 assertFalse(validator.shouldRunFor("AAICheckVnfInMaintBB"));
114                 assertFalse(validator.shouldRunFor("ChangeModelVfModuleBB"));
115                 assertFalse(validator.shouldRunFor("CreateNetworkCollectionBB"));
116         }
117 }