Improve unit-test coverage
[vfc/nfvo/driver/vnfm/svnfm.git] / nokia / vnfmdriver / vfcadaptorservice / vfcadaptor / src / test / java / org / onap / vfc / nfvo / driver / vnfm / svnfm / adaptor / TermiateVnfContinueRunnableTest.java
1 /*
2  * Copyright 2016-2017, Nokia Corporation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.vfc.nfvo.driver.vnfm.svnfm.adaptor;
18
19 import static org.mockito.Mockito.doNothing;
20 import static org.mockito.Mockito.when;
21
22 import java.util.ArrayList;
23 import java.util.List;
24
25 import org.junit.Before;
26 import org.junit.Test;
27 import org.mockito.InjectMocks;
28 import org.mockito.Mock;
29 import org.mockito.Mockito;
30 import org.mockito.MockitoAnnotations;
31 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMModifyVnfResponse;
32 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryOperExecutionResponse;
33 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMQueryVnfResponse;
34 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfRequest;
35 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.CBAMTerminateVnfResponse;
36 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.ComputeResource;
37 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.bo.entity.VnfcResourceInfo;
38 import org.onap.vfc.nfvo.driver.vnfm.svnfm.cbam.inf.CbamMgmrInf;
39 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum;
40 import org.onap.vfc.nfvo.driver.vnfm.svnfm.constant.CommonEnum.OperationStatus;
41 import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.bean.VnfmJobExecutionInfo;
42 import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.mapper.VnfcResourceInfoMapper;
43 import org.onap.vfc.nfvo.driver.vnfm.svnfm.db.mapper.VnfmJobExecutionMapper;
44 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfRequest;
45 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.NslcmGrantVnfResponse;
46 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.bo.entity.AffectedVnfc;
47 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nslcm.inf.NslcmMgmrInf;
48 import org.onap.vfc.nfvo.driver.vnfm.svnfm.vnfmdriver.bo.TerminateVnfRequest;
49
50 public class TermiateVnfContinueRunnableTest{
51         @InjectMocks
52         private TerminateVnfContinueRunnable terminateVnfContinueRunnable;
53         
54         @Mock
55         private CbamMgmrInf cbamMgmr;
56         
57         @Mock
58         private NslcmMgmrInf nslcmMgmr;
59         
60         @Mock
61         private VnfmJobExecutionMapper jobDbMgmr;
62         
63         @Mock
64         private VnfcResourceInfoMapper vnfcDbMgmr;;
65         
66         @Before
67         public void setUp() throws Exception {
68                 MockitoAnnotations.initMocks(this);
69                 TerminateVnfRequest driverRequest = new TerminateVnfRequest();
70                 Driver2CbamRequestConverter requestConverter = new Driver2CbamRequestConverter();
71                 
72                 terminateVnfContinueRunnable.setDriverRequest(driverRequest);
73                 terminateVnfContinueRunnable.setJobId("1");
74                 terminateVnfContinueRunnable.setVnfInstanceId("001");
75                 terminateVnfContinueRunnable.setVnfmId("001");
76                 terminateVnfContinueRunnable.setRequestConverter(requestConverter);
77                 
78                 NslcmGrantVnfResponse grantResponse = new NslcmGrantVnfResponse();
79                 CBAMTerminateVnfResponse cbamResponse = new CBAMTerminateVnfResponse();
80                 cbamResponse.setId("1");
81                 CBAMModifyVnfResponse modifyResponse = new CBAMModifyVnfResponse();
82                 modifyResponse.setId("2");
83                 VnfmJobExecutionInfo execInfo = new VnfmJobExecutionInfo();
84                 execInfo.setJobId(1L);
85                 
86                 CBAMQueryOperExecutionResponse exeResponse = new CBAMQueryOperExecutionResponse();
87                 exeResponse.setStatus(OperationStatus.FINISHED);
88                 
89                 List<AffectedVnfc> vnfcResources = new ArrayList<>();
90                 
91                 CBAMQueryVnfResponse cQueryVnfResponse = new CBAMQueryVnfResponse();
92                 cQueryVnfResponse.setInstantiationState(CommonEnum.InstantiationState.NOT_INSTANTIATED);
93                 
94                 when(nslcmMgmr.grantVnf(Mockito.any(NslcmGrantVnfRequest.class))).thenReturn(grantResponse);
95                 when(cbamMgmr.terminateVnf(Mockito.any(CBAMTerminateVnfRequest.class), Mockito.anyString())).thenReturn(cbamResponse);
96                 when(cbamMgmr.queryVnf(Mockito.anyString())).thenReturn(cQueryVnfResponse);
97                 doNothing().when(cbamMgmr).deleteVnf(Mockito.anyString());
98                 
99                 when(vnfcDbMgmr.getAllByInstanceId(Mockito.anyString())).thenReturn(vnfcResources);
100                 when(cbamMgmr.queryOperExecution(Mockito.anyString())).thenReturn(exeResponse);
101                 when(jobDbMgmr.findOne(Mockito.anyLong())).thenReturn(execInfo);
102                 doNothing().when(jobDbMgmr).update(Mockito.any(VnfmJobExecutionInfo.class));
103         }
104         
105         @Test
106         public void testRun()
107         {
108                 terminateVnfContinueRunnable.run();
109         }
110 }