Merge 1806 code of vid-common
[vid.git] / vid-app-common / src / test / java / org / onap / vid / mso / MsoBusinessLogicTest.java
1 package org.onap.vid.mso;
2
3 import com.fasterxml.jackson.databind.ObjectMapper;
4 import org.mockito.InjectMocks;
5 import org.mockito.Mock;
6 import org.mockito.Mockito;
7 import org.mockito.MockitoAnnotations;
8 import org.onap.vid.mso.MsoBusinessLogicImpl;
9 import org.onap.vid.mso.MsoInterface;
10 import org.onap.vid.mso.MsoResponseWrapper;
11 import org.onap.vid.mso.rest.RequestDetails;
12 import org.onap.vid.mso.rest.RequestDetailsWrapper;
13 import org.testng.annotations.BeforeMethod;
14 import org.testng.annotations.Test;
15
16 import java.net.URL;
17
18 import static org.testng.Assert.assertEquals;
19 import static org.testng.Assert.assertNotNull;
20
21 @Test
22 public class MsoBusinessLogicTest {
23
24     @InjectMocks
25     private MsoBusinessLogicImpl msoBusinessLogic;
26
27     @Mock
28     private MsoInterface msoClient;
29
30     @BeforeMethod
31     public void initMocks(){
32         MockitoAnnotations.initMocks(this);
33     }
34
35     @Test
36     public void testCreateInstance() throws Exception {
37         String instanceId = "3f93c7cb-2fd0-4557-9514-e189b7b04f9d";
38         final RequestDetailsWrapper requestDetailsWrapper = new RequestDetailsWrapper();
39         requestDetailsWrapper.requestDetails = setRequestDetails("mso_request_create_configuration.json");
40         Mockito.doReturn(getOkResponse(instanceId)).when(msoClient).createConfigurationInstance(requestDetailsWrapper, "/serviceInstances/v6/3f93c7cb-2fd0-4557-9514-e189b7b04f9d/configurations");
41         final MsoResponseWrapper msoResponseWrapper = msoBusinessLogic.createConfigurationInstance(requestDetailsWrapper, instanceId);
42
43         assertNotNull(msoResponseWrapper);
44         assertEquals(202, msoResponseWrapper.getStatus());
45     }
46
47     private MsoResponseWrapper getOkResponse(String instanceId){
48         MsoResponseWrapper responseWrapper = new MsoResponseWrapper();
49         String entity = " \"body\": {\n" +
50                 "      \"requestReferences\": {\n" +
51                 "        \"instanceId\": \""+instanceId+"\",\n" +
52                 "        \"requestId\": \"b6dc9806-b094-42f7-9386-a48de8218ce8\"\n" +
53                 "      }";
54         responseWrapper.setEntity(entity);
55         responseWrapper.setStatus(202);
56         return responseWrapper;
57     }
58
59     private RequestDetails setRequestDetails(String bodyFileName)throws Exception {
60         final URL resource = this.getClass().getResource("/payload_jsons/" + bodyFileName);
61         ObjectMapper mapper = new ObjectMapper();
62         RequestDetails requestDetails = mapper.readValue(resource, RequestDetails.class);
63         return requestDetails;
64
65     }
66 }