22e6def28ddc486cd06864e9677c5de7c68ca64e
[so.git] / adapters / mso-vfc-adapter / src / test / java / org / onap / so / adapters / vfc / rest / VfcManagerTest.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (c) 2019 Samsung. 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.adapters.vfc.rest;
22
23 import org.junit.Test;
24 import org.junit.runner.RunWith;
25 import org.mockito.InjectMocks;
26 import org.mockito.Mock;
27 import org.mockito.Spy;
28 import org.mockito.junit.MockitoJUnitRunner;
29 import org.onap.so.adapters.vfc.constant.CommonConstant;
30 import org.onap.so.adapters.vfc.model.NSResourceInputParameter;
31 import org.onap.so.adapters.vfc.model.NsOperationKey;
32 import org.onap.so.adapters.vfc.model.NsParameters;
33 import org.onap.so.adapters.vfc.model.NsScaleParameters;
34 import org.onap.so.adapters.vfc.model.RestfulResponse;
35 import org.onap.so.adapters.vfc.util.RestfulUtil;
36 import org.onap.so.db.request.beans.ResourceOperationStatus;
37 import org.onap.so.db.request.data.repository.ResourceOperationStatusRepository;
38 import org.springframework.http.HttpStatus;
39
40 import static org.junit.Assert.*;
41 import static org.mockito.ArgumentMatchers.any;
42 import static org.mockito.Mockito.when;
43
44 @RunWith(MockitoJUnitRunner.class)
45 public class VfcManagerTest {
46
47     @Mock
48     private ResourceOperationStatusRepository resourceOperationStatusRepository;
49
50     @Mock
51     private RestfulUtil restfulUtil;
52
53     @InjectMocks
54     @Spy
55     private VfcManager vfcManager;
56
57     @Test
58     public void createNs() throws Exception {
59
60         NSResourceInputParameter segInput = new NSResourceInputParameter();
61         segInput.setNsOperationKey(new NsOperationKey());
62
63         RestfulResponse restfulResponse = new RestfulResponse();
64         restfulResponse.setStatus(HttpStatus.OK.value());
65         restfulResponse.setResponseContent("{\"" + CommonConstant.NS_INSTANCE_ID + "\": \"someNsInstanceId\"}");
66         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
67
68         RestfulResponse response = vfcManager.createNs(segInput);
69         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
70     }
71
72     @Test
73     public void deleteNs() throws Exception {
74
75         RestfulResponse restfulResponse = new RestfulResponse();
76         restfulResponse.setStatus(HttpStatus.OK.value());
77         restfulResponse.setResponseContent("{\"" + CommonConstant.NS_INSTANCE_ID + "\": \"someNsInstanceId\"}");
78         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
79
80         NsOperationKey nsOperationKey = new NsOperationKey();
81
82         RestfulResponse response = vfcManager.deleteNs(nsOperationKey, "someNsInstanceId");
83         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
84     }
85
86     @Test
87     public void instantiateNs() throws Exception {
88
89         RestfulResponse restfulResponse = new RestfulResponse();
90         restfulResponse.setStatus(HttpStatus.OK.value());
91         restfulResponse.setResponseContent("{\"" + CommonConstant.JOB_ID + "\": \"someJobId\"}");
92         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
93
94         NsParameters nsParameters = new NsParameters();
95         NSResourceInputParameter segInput = new NSResourceInputParameter();
96         segInput.setNsParameters(nsParameters);
97         segInput.setNsOperationKey(new NsOperationKey());
98
99         RestfulResponse response = vfcManager.instantiateNs("someNsInstanceId", segInput);
100         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
101     }
102
103     @Test
104     public void terminateNs() throws Exception {
105
106         NsOperationKey nsOperationKey = new NsOperationKey();
107
108         RestfulResponse restfulResponse = new RestfulResponse();
109         restfulResponse.setStatus(HttpStatus.OK.value());
110         restfulResponse.setResponseContent("{\"" + CommonConstant.JOB_ID + "\": \"someJobId\"}");
111         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
112
113         RestfulResponse response = vfcManager.terminateNs(nsOperationKey, "someNsInstanceId");
114         assertEquals(HttpStatus.OK.value(), response.getStatus());
115     }
116
117     @Test
118     public void getNsProgress() throws Exception {
119
120         NsOperationKey nsOperationKey = new NsOperationKey();
121         ResourceOperationStatus resourceOperationStatus = new ResourceOperationStatus();
122
123         RestfulResponse restfulResponse = new RestfulResponse();
124         restfulResponse.setStatus(HttpStatus.OK.value());
125         restfulResponse
126             .setResponseContent("{\"" + CommonConstant.JOB_ID + "\": \"someJobId\", " + "\"responseDescriptor\" : {}}");
127         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
128
129         when(resourceOperationStatusRepository.findOne(any()))
130             .thenReturn(java.util.Optional.ofNullable(resourceOperationStatus));
131
132         RestfulResponse response = vfcManager.getNsProgress(nsOperationKey, "someJobId");
133         assertEquals(HttpStatus.OK.value(), response.getStatus());
134     }
135
136     @Test
137     public void scaleNs() throws Exception {
138
139         ResourceOperationStatus resourceOperationStatus = new ResourceOperationStatus();
140         NSResourceInputParameter segInput = new NSResourceInputParameter();
141         NsScaleParameters nsScaleParameters = new NsScaleParameters();
142         segInput.setNsScaleParameters(nsScaleParameters);
143
144         RestfulResponse restfulResponse = new RestfulResponse();
145         restfulResponse.setStatus(HttpStatus.OK.value());
146         segInput.setNsOperationKey(new NsOperationKey());
147         restfulResponse.setResponseContent("{\"" + CommonConstant.JOB_ID + "\": \"someJobId\"}");
148         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
149
150         when(resourceOperationStatusRepository.findOne(any()))
151             .thenReturn(java.util.Optional.ofNullable(resourceOperationStatus));
152
153         RestfulResponse response = vfcManager.scaleNs("someNsInstanceId", segInput);
154         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
155     }
156
157 }