2 * Copyright 2016-2017, Nokia Corporation
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 package org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.restapi;
19 import org.junit.Before;
20 import org.junit.Test;
21 import org.mockito.InjectMocks;
22 import org.mockito.Mock;
23 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.JobManager;
24 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.LifecycleManager;
25 import org.onap.vfc.nfvo.driver.vnfm.svnfm.nokia.vnfm.TestBase;
26 import org.onap.vnfmdriver.model.VnfHealRequest;
27 import org.onap.vnfmdriver.model.VnfInstantiateRequest;
28 import org.onap.vnfmdriver.model.VnfScaleRequest;
29 import org.onap.vnfmdriver.model.VnfTerminateRequest;
31 import static org.apache.http.HttpStatus.SC_CREATED;
32 import static org.mockito.Mockito.verify;
33 import static org.springframework.test.util.ReflectionTestUtils.setField;
36 public class TestLcmApi extends TestBase {
39 private LifecycleManager lifecycleManager;
41 private JobManager jobManager;
43 private LcmApi lcmApi;
46 public void initMocks() throws Exception {
47 setField(LcmApi.class, "logger", logger);
51 * test instantiation handled by LCM
54 public void testInstantiation() {
55 VnfInstantiateRequest req = new VnfInstantiateRequest();
57 lcmApi.instantiateVnf(req, VNFM_ID, httpResponse);
59 verify(lifecycleManager).instantiate(VNFM_ID, req, httpResponse);
60 verify(httpResponse).setStatus(SC_CREATED);
61 verify(logger).info("REST: Instantiate VNF");
65 * test heal handled by LCM
68 public void testHeal() {
69 VnfHealRequest req = new VnfHealRequest();
71 lcmApi.healVnf(req, VNFM_ID, VNF_ID, httpResponse);
73 verify(lifecycleManager).healVnf(VNFM_ID, VNF_ID, req, httpResponse);
74 verify(logger).info("REST: Heal VNF");
78 * test query handled by LCM
81 public void testQuery() {
83 lcmApi.queryVnf(VNFM_ID, VNF_ID, httpResponse);
85 verify(lifecycleManager).queryVnf(VNFM_ID, VNF_ID);
86 verify(logger).info("REST: Query VNF");
91 * test scale handled by LCM
94 public void testScale() {
95 VnfScaleRequest req = new VnfScaleRequest();
97 lcmApi.scaleVnf(req, VNFM_ID, VNF_ID, httpResponse);
99 verify(lifecycleManager).scaleVnf(VNFM_ID, VNF_ID, req, httpResponse);
100 verify(logger).info("REST: Scale VNF");
105 * test terminate handled by LCM
108 public void testTerminate() {
109 VnfTerminateRequest req = new VnfTerminateRequest();
111 lcmApi.terminateVnf(req, VNFM_ID, VNF_ID, httpResponse);
113 verify(lifecycleManager).terminateVnf(VNFM_ID, VNF_ID, req, httpResponse);
114 verify(logger).info("REST: Terminate VNF");
119 * test job query handled by job manager
122 public void testJob() {
124 lcmApi.getJob(VNFM_ID, JOB_ID, httpResponse);
126 verify(jobManager).getJob(VNFM_ID, JOB_ID);
127 verify(logger).debug("REST: Query job");