69bcabaa16954179c655285fe9b14cd71de01edd
[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.portalsdk.core.util.SystemProperties;
9 import org.onap.vid.controllers.MsoConfig;
10 import org.onap.vid.mso.MsoBusinessLogicImpl;
11 import org.onap.vid.mso.MsoInterface;
12 import org.onap.vid.mso.MsoResponseWrapper;
13 import org.onap.vid.mso.rest.RequestDetails;
14 import org.springframework.test.context.ContextConfiguration;
15 import org.springframework.test.context.testng.AbstractTestNGSpringContextTests;
16 import org.springframework.test.context.web.WebAppConfiguration;
17 import org.testng.annotations.BeforeMethod;
18 import org.testng.annotations.Test;
19
20 import java.net.URL;
21
22 import static org.testng.Assert.assertEquals;
23 import static org.testng.Assert.assertNotNull;
24
25 @Test
26 @ContextConfiguration(classes = { SystemProperties.class, MsoConfig.class })
27 @WebAppConfiguration
28 public class MsoBusinessLogicTest extends AbstractTestNGSpringContextTests {
29
30     @InjectMocks
31     private MsoBusinessLogicImpl msoBusinessLogic;
32
33     @Mock
34     private MsoInterface msoClient;
35
36     @BeforeMethod
37     public void initMocks(){
38         MockitoAnnotations.initMocks(this);
39     }
40
41     @Test
42     public void testCreateInstance() throws Exception {
43         String instanceId = "3f93c7cb-2fd0-4557-9514-e189b7b04f9d";
44         final RequestDetails requestDetails = setRequestDetails("mso_request_create_configuration.json");
45         Mockito.doReturn(getOkResponse(instanceId)).when(msoClient).createConfigurationInstance(requestDetails, "/serviceInstances/v6/3f93c7cb-2fd0-4557-9514-e189b7b04f9d/configurations");
46         final MsoResponseWrapper msoResponseWrapper = msoBusinessLogic.createConfigurationInstance(requestDetails, instanceId);
47
48         assertNotNull(msoResponseWrapper);
49         assertEquals(202, msoResponseWrapper.getStatus());
50     }
51
52     private MsoResponseWrapper getOkResponse(String instanceId){
53         MsoResponseWrapper responseWrapper = new MsoResponseWrapper();
54         String entity = " \"body\": {\n" +
55                 "      \"requestReferences\": {\n" +
56                 "        \"instanceId\": \""+instanceId+"\",\n" +
57                 "        \"requestId\": \"b6dc9806-b094-42f7-9386-a48de8218ce8\"\n" +
58                 "      }";
59         responseWrapper.setEntity(entity);
60         responseWrapper.setStatus(202);
61         return responseWrapper;
62     }
63
64     private RequestDetails setRequestDetails(String bodyFileName)throws Exception {
65         final URL resource = this.getClass().getResource("/payload_jsons/" + bodyFileName);
66         ObjectMapper mapper = new ObjectMapper();
67         RequestDetails requestDetails = mapper.readValue(resource, RequestDetails.class);
68         return requestDetails;
69
70     }
71 }