08fe6187ea58fb46c3f2181bbf489623be2fb5a9
[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 import static org.junit.Assert.*;
40 import static org.mockito.ArgumentMatchers.any;
41 import static org.mockito.Mockito.when;
42
43 @RunWith(MockitoJUnitRunner.class)
44 public class VfcManagerTest {
45
46     @Mock
47     private ResourceOperationStatusRepository resourceOperationStatusRepository;
48
49     @Mock
50     private RestfulUtil restfulUtil;
51
52     @InjectMocks
53     @Spy
54     private VfcManager vfcManager;
55
56     @Test
57     public void createNs() throws Exception {
58
59         NSResourceInputParameter segInput = new NSResourceInputParameter();
60         segInput.setNsOperationKey(new NsOperationKey());
61
62         RestfulResponse restfulResponse = new RestfulResponse();
63         restfulResponse.setStatus(HttpStatus.OK.value());
64         restfulResponse.setResponseContent("{\"" + CommonConstant.NS_INSTANCE_ID + "\": \"someNsInstanceId\"}");
65         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
66
67         RestfulResponse response = vfcManager.createNs(segInput);
68         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
69     }
70
71     @Test
72     public void deleteNs() throws Exception {
73
74         RestfulResponse restfulResponse = new RestfulResponse();
75         restfulResponse.setStatus(HttpStatus.OK.value());
76         restfulResponse.setResponseContent("{\"" + CommonConstant.NS_INSTANCE_ID + "\": \"someNsInstanceId\"}");
77         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
78
79         NsOperationKey nsOperationKey = new NsOperationKey();
80
81         RestfulResponse response = vfcManager.deleteNs(nsOperationKey, "someNsInstanceId");
82         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
83     }
84
85     @Test
86     public void instantiateNs() throws Exception {
87
88         RestfulResponse restfulResponse = new RestfulResponse();
89         restfulResponse.setStatus(HttpStatus.OK.value());
90         restfulResponse.setResponseContent("{\"" + CommonConstant.JOB_ID + "\": \"someJobId\"}");
91         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
92
93         NsParameters nsParameters = new NsParameters();
94         NSResourceInputParameter segInput = new NSResourceInputParameter();
95         segInput.setNsParameters(nsParameters);
96         segInput.setNsOperationKey(new NsOperationKey());
97
98         RestfulResponse response = vfcManager.instantiateNs("someNsInstanceId", segInput);
99         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
100     }
101
102     @Test
103     public void terminateNs() throws Exception {
104
105         NsOperationKey nsOperationKey = new NsOperationKey();
106
107         RestfulResponse restfulResponse = new RestfulResponse();
108         restfulResponse.setStatus(HttpStatus.OK.value());
109         restfulResponse.setResponseContent("{\"" + CommonConstant.JOB_ID + "\": \"someJobId\"}");
110         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
111
112         RestfulResponse response = vfcManager.terminateNs(nsOperationKey, "someNsInstanceId");
113         assertEquals(HttpStatus.OK.value(), response.getStatus());
114     }
115
116     @Test
117     public void getNsProgress() throws Exception {
118
119         NsOperationKey nsOperationKey = new NsOperationKey();
120         ResourceOperationStatus resourceOperationStatus = new ResourceOperationStatus();
121
122         RestfulResponse restfulResponse = new RestfulResponse();
123         restfulResponse.setStatus(HttpStatus.OK.value());
124         restfulResponse.setResponseContent(
125                 "{\"" + CommonConstant.JOB_ID + "\": \"someJobId\", " + "\"responseDescriptor\" : {}}");
126         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
127
128         when(resourceOperationStatusRepository.findOne(any()))
129                 .thenReturn(java.util.Optional.ofNullable(resourceOperationStatus));
130
131         RestfulResponse response = vfcManager.getNsProgress(nsOperationKey, "someJobId");
132         assertEquals(HttpStatus.OK.value(), response.getStatus());
133     }
134
135     @Test
136     public void scaleNs() throws Exception {
137
138         ResourceOperationStatus resourceOperationStatus = new ResourceOperationStatus();
139         NSResourceInputParameter segInput = new NSResourceInputParameter();
140         NsScaleParameters nsScaleParameters = new NsScaleParameters();
141         segInput.setNsScaleParameters(nsScaleParameters);
142
143         RestfulResponse restfulResponse = new RestfulResponse();
144         restfulResponse.setStatus(HttpStatus.OK.value());
145         segInput.setNsOperationKey(new NsOperationKey());
146         restfulResponse.setResponseContent("{\"" + CommonConstant.JOB_ID + "\": \"someJobId\"}");
147         when(restfulUtil.send(any(), any(), any())).thenReturn(restfulResponse);
148
149         when(resourceOperationStatusRepository.findOne(any()))
150                 .thenReturn(java.util.Optional.ofNullable(resourceOperationStatus));
151
152         RestfulResponse response = vfcManager.scaleNs("someNsInstanceId", segInput);
153         assertEquals(HttpStatus.OK.value(), restfulResponse.getStatus());
154     }
155
156 }