01ca53ba973f321418d699604d4a8de6e7743973
[so.git] / bpmn / MSOInfrastructureBPMN / src / test / groovy / org / openecomp / mso / bpmn / vcpe / scripts / GroovyTestBase.groovy
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 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 package org.openecomp.mso.bpmn.vcpe.scripts
21
22
23 import org.camunda.bpm.engine.ProcessEngineServices
24 import org.camunda.bpm.engine.RepositoryService
25 import org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
26 import org.camunda.bpm.engine.repository.ProcessDefinition
27 import org.camunda.bpm.engine.runtime.Execution
28 import org.junit.Before
29 import org.junit.BeforeClass
30 import org.junit.Rule
31 import org.junit.Test
32 import org.junit.Ignore
33 import org.mockito.MockitoAnnotations
34 import org.camunda.bpm.engine.delegate.BpmnError
35 import org.openecomp.mso.bpmn.core.WorkflowException
36 import org.openecomp.mso.bpmn.mock.FileUtil
37
38 import static com.github.tomakehurst.wiremock.client.WireMock.aResponse
39 import static com.github.tomakehurst.wiremock.client.WireMock.get
40 import static com.github.tomakehurst.wiremock.client.WireMock.patch
41 import static com.github.tomakehurst.wiremock.client.WireMock.put
42 import static com.github.tomakehurst.wiremock.client.WireMock.stubFor
43 import static com.github.tomakehurst.wiremock.client.WireMock.urlMatching
44 import static org.junit.Assert.*;
45 import static org.mockito.Mockito.*
46 import static org.openecomp.mso.bpmn.mock.StubResponseAAI.MockGetAllottedResource
47 import org.openecomp.mso.bpmn.core.RollbackData
48 import org.openecomp.mso.bpmn.vcpe.scripts.MapSetter
49
50 import com.github.tomakehurst.wiremock.junit.WireMockRule
51
52 class GroovyTestBase {
53         
54         static final int PORT = 28090
55         static final String LOCAL_URI = "http://localhost:" + PORT
56         
57         static final String CUST = "SDN-ETHERNET-INTERNET"
58         static final String SVC = "123456789"
59         static final String INST = "MIS%252F1604%252F0026%252FSW_INTERNET"
60         static final String ARID = "arId-1"
61         static final String VERS = "myvers"
62         
63         static final String DBGFLAG = "isDebugLogEnabled"
64         
65         static Properties urnProps = new Properties()
66         static String aaiUriPfx
67         
68         String processName
69
70         static {
71                 def fr = new FileReader("src/test/resources/mso.bpmn.urn.properties")
72                 urnProps.load(fr)
73                 fr.close()
74
75                 aaiUriPfx = urnProps.get("aai.endpoint")
76         }
77
78         public static void setUpBeforeClass() {
79                 // moved to the above static block to get the static aaiUriPfx assignment correctly.
80         }
81         
82         public GroovyTestBase(String processName) {
83                 this.processName = processName
84         }
85         
86         public boolean doBpmnError(def func) {
87                 
88                 try {
89                         func()
90                         return false;
91                         
92                 } catch(BpmnError e) {
93                         return true;
94                 }
95         }
96         
97         public ExecutionEntity setupMock() {
98                 
99                 ProcessDefinition mockProcessDefinition = mock(ProcessDefinition.class)
100                 when(mockProcessDefinition.getKey()).thenReturn(processName)
101                 RepositoryService mockRepositoryService = mock(RepositoryService.class)
102                 when(mockRepositoryService.getProcessDefinition()).thenReturn(mockProcessDefinition)
103                 when(mockRepositoryService.getProcessDefinition().getKey()).thenReturn(processName)
104                 when(mockRepositoryService.getProcessDefinition().getId()).thenReturn("100")
105                 ProcessEngineServices mockProcessEngineServices = mock(ProcessEngineServices.class)
106                 when(mockProcessEngineServices.getRepositoryService()).thenReturn(mockRepositoryService)
107                 
108                 ExecutionEntity mex = mock(ExecutionEntity.class)
109                 
110                 when(mex.getId()).thenReturn("100")
111                 when(mex.getProcessDefinitionId()).thenReturn(processName)
112                 when(mex.getProcessInstanceId()).thenReturn(processName)
113                 when(mex.getProcessEngineServices()).thenReturn(mockProcessEngineServices)
114                 when(mex.getProcessEngineServices().getRepositoryService().getProcessDefinition(mex.getProcessDefinitionId())).thenReturn(mockProcessDefinition)
115                 
116                 when(mex.getVariable("isAsyncProcess")).thenReturn("true")
117                 when(mex.getVariable(processName+"WorkflowResponseSent")).thenReturn("false")
118                 
119                 return mex
120         }
121         
122         public Map<String,Object> setupMap(ExecutionEntity mex) {
123                 MapSetter mapset = new MapSetter();
124                 doAnswer(mapset).when(mex).setVariable(any(), any())
125                 return mapset.getMap();
126         }
127                 
128 }