1 package org.onap.so.adapters.requestsdb;
 
   4 import org.junit.Before;
 
   5 import org.junit.After;
 
   7 import org.junit.runner.RunWith;
 
   8 import org.onap.so.adapters.requestsdb.application.MSORequestDBApplication;
 
   9 import org.onap.so.db.request.beans.InfraActiveRequests;
 
  10 import org.onap.so.db.request.data.controller.InstanceNameDuplicateCheckRequest;
 
  11 import org.springframework.beans.factory.annotation.Value;
 
  12 import org.springframework.boot.context.embedded.LocalServerPort;
 
  13 import org.springframework.boot.test.context.SpringBootTest;
 
  14 import org.springframework.boot.test.web.client.TestRestTemplate;
 
  15 import org.springframework.core.ParameterizedTypeReference;
 
  16 import org.springframework.http.HttpEntity;
 
  17 import org.springframework.http.HttpHeaders;
 
  18 import org.springframework.http.HttpMethod;
 
  19 import org.springframework.http.ResponseEntity;
 
  20 import org.springframework.test.context.ActiveProfiles;
 
  21 import org.springframework.test.context.junit4.SpringRunner;
 
  22 import org.springframework.transaction.annotation.Transactional;
 
  23 import org.springframework.web.util.UriComponentsBuilder;
 
  25 import javax.ws.rs.core.MediaType;
 
  26 import java.util.List;
 
  28 import java.util.HashMap;
 
  29 import java.util.UUID;
 
  30 import java.util.ArrayList;
 
  32 import static org.junit.Assert.assertEquals;
 
  33 import static org.junit.Assert.assertTrue;
 
  35 @RunWith(SpringRunner.class)
 
  36 @SpringBootTest(classes = MSORequestDBApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
 
  37 @ActiveProfiles("test")
 
  39 public class InfraActiveRequestsRepositoryCustomControllerTest {
 
  44     @Value("${mso.adapters.requestDb.auth}")
 
  45     private String msoAdaptersAuth;
 
  47     private String createURLWithPort(String uri) {
 
  48         return "http://localhost:" + port + uri;
 
  51     private InfraActiveRequests infraActiveRequests;
 
  52     private InfraActiveRequests infraActiveRequestsResponse;
 
  53     private HttpHeaders headers;
 
  54     private TestRestTemplate restTemplate;
 
  56     private void verifyInfraActiveRequests() {
 
  57         assertEquals(infraActiveRequests.getRequestId(), infraActiveRequestsResponse.getRequestId());
 
  58         assertEquals(infraActiveRequests.getServiceInstanceId(), infraActiveRequestsResponse.getServiceInstanceId());
 
  59         assertEquals(infraActiveRequests.getServiceInstanceName(), infraActiveRequestsResponse.getServiceInstanceName());
 
  60         assertEquals(infraActiveRequests.getVnfId(), infraActiveRequestsResponse.getVnfId());
 
  61         assertEquals(infraActiveRequests.getVnfName(), infraActiveRequestsResponse.getVnfName());
 
  62         assertEquals(infraActiveRequests.getVfModuleId(), infraActiveRequestsResponse.getVfModuleId());
 
  63         assertEquals(infraActiveRequests.getVfModuleName(), infraActiveRequestsResponse.getVfModuleName());
 
  64         assertEquals(infraActiveRequests.getVolumeGroupId(), infraActiveRequestsResponse.getVolumeGroupId());
 
  65         assertEquals(infraActiveRequests.getVolumeGroupName(), infraActiveRequestsResponse.getVolumeGroupName());
 
  66         assertEquals(infraActiveRequests.getNetworkId(), infraActiveRequestsResponse.getNetworkId());
 
  67         assertEquals(infraActiveRequests.getNetworkName(), infraActiveRequestsResponse.getNetworkName());
 
  68         assertEquals(infraActiveRequests.getConfigurationId(), infraActiveRequestsResponse.getConfigurationId());
 
  69         assertEquals(infraActiveRequests.getConfigurationName(), infraActiveRequestsResponse.getConfigurationName());
 
  70         assertEquals(infraActiveRequests.getAaiServiceId(), infraActiveRequestsResponse.getAaiServiceId());
 
  71         assertEquals(infraActiveRequests.getTenantId(), infraActiveRequestsResponse.getTenantId());
 
  72         assertEquals(infraActiveRequests.getRequestScope(), infraActiveRequestsResponse.getRequestScope());
 
  73         assertEquals(infraActiveRequests.getRequestorId(), infraActiveRequestsResponse.getRequestorId());
 
  74         assertEquals(infraActiveRequests.getSource(), infraActiveRequestsResponse.getSource());
 
  75         assertEquals(infraActiveRequests.getOperationalEnvId(), infraActiveRequestsResponse.getOperationalEnvId());
 
  76         assertEquals(infraActiveRequests.getOperationalEnvName(), infraActiveRequestsResponse.getOperationalEnvName());
 
  77         assertEquals(infraActiveRequests.getRequestStatus(), infraActiveRequestsResponse.getRequestStatus());
 
  78         assertEquals(infraActiveRequests.getAction(), infraActiveRequestsResponse.getAction());
 
  84         headers = new HttpHeaders();
 
  85         restTemplate = new TestRestTemplate("test", "test");
 
  87         headers.set("Accept", MediaType.APPLICATION_JSON);
 
  88         headers.set("Content-Type", MediaType.APPLICATION_JSON);
 
  89         headers.set("Authorization", msoAdaptersAuth);
 
  91         infraActiveRequests = new InfraActiveRequests();
 
  93         infraActiveRequests.setRequestId(UUID.randomUUID().toString());
 
  94         infraActiveRequests.setOperationalEnvId(UUID.randomUUID().toString());
 
  95         infraActiveRequests.setServiceInstanceId(UUID.randomUUID().toString());
 
  96         infraActiveRequests.setServiceInstanceName("serviceInstanceNameTest");
 
  97         infraActiveRequests.setVnfId(UUID.randomUUID().toString());
 
  98         infraActiveRequests.setVnfName("vnfInstanceNameTest");
 
  99         infraActiveRequests.setVfModuleId(UUID.randomUUID().toString());
 
 100         infraActiveRequests.setVfModuleName("vfModuleInstanceNameTest");
 
 101         infraActiveRequests.setVolumeGroupId(UUID.randomUUID().toString());
 
 102         infraActiveRequests.setVolumeGroupName("volumeGroupInstanceNameTest");
 
 103         infraActiveRequests.setNetworkId(UUID.randomUUID().toString());
 
 104         infraActiveRequests.setNetworkName("networkInstanceNameTest");
 
 105         infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
 
 106         infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
 
 107         infraActiveRequests.setAicCloudRegion("1");
 
 108         infraActiveRequests.setTenantId(UUID.randomUUID().toString());
 
 109         infraActiveRequests.setRequestScope("operationalEnvironment");
 
 110         infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
 
 111         infraActiveRequests.setSource("sourceTest");
 
 112         infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
 
 113         infraActiveRequests.setRequestStatus("IN_PROGRESS");
 
 114         infraActiveRequests.setAction("create");
 
 116         HttpEntity<String> entity = new HttpEntity(infraActiveRequests, headers);
 
 118         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests"));
 
 119         ResponseEntity<String> response = restTemplate.exchange(
 
 120                 builder.toUriString(),
 
 121                 HttpMethod.POST, entity, String.class);
 
 123         assertEquals(201, response.getStatusCodeValue());
 
 128     public void getCloudOrchestrationFiltersFromInfraActiveTest() {
 
 130         Map<String, String> requestMap = new HashMap<>();
 
 131         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
 
 132         requestMap.put("operationalEnvironmentName", infraActiveRequests.getOperationalEnvName());
 
 133         requestMap.put("resourceType", "operationalEnvironment");
 
 135         HttpEntity<Map<String, String>> entity = new HttpEntity<>(requestMap, headers);
 
 137         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/getCloudOrchestrationFiltersFromInfraActive");
 
 139         ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(
 
 140                 builder.toUriString(),
 
 141                 HttpMethod.POST, entity, new ParameterizedTypeReference<List<InfraActiveRequests>>() {
 
 144         List<InfraActiveRequests> iarr = response.getBody();
 
 145         assertEquals(200, response.getStatusCodeValue());
 
 147         assertTrue(iarr.size() == 1);
 
 148         infraActiveRequestsResponse = iarr.get(0);
 
 150         verifyInfraActiveRequests();
 
 155     public void getOrchestrationFiltersFromInfraActiveTest() {
 
 157         Map<String, List<String>> requestMap = new HashMap<>();
 
 158         List<String> values = new ArrayList<>();
 
 159         values.add("EQUALS");
 
 160         values.add(infraActiveRequests.getServiceInstanceId());
 
 161         requestMap.put("serviceInstanceId", values);
 
 163         values = new ArrayList<>();
 
 164         values.add("EQUALS");
 
 165         values.add(infraActiveRequests.getServiceInstanceName());
 
 166         requestMap.put("serviceInstanceName", values);
 
 168         HttpEntity<Map<String, List<String>>> entityList = new HttpEntity(requestMap, headers);
 
 169         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/getOrchestrationFiltersFromInfraActive");
 
 171         ResponseEntity<List<InfraActiveRequests>> response = restTemplate.exchange(
 
 172                 builder.toUriString(),
 
 173                 HttpMethod.POST, entityList, new ParameterizedTypeReference<List<InfraActiveRequests>>() {
 
 176         List<InfraActiveRequests> iarr = response.getBody();
 
 178         assertEquals(200, response.getStatusCodeValue());
 
 180         assertTrue(iarr.size() == 1);
 
 181         infraActiveRequestsResponse = iarr.get(0);
 
 183         verifyInfraActiveRequests();
 
 187     public void checkVnfIdStatusTest() {
 
 190         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests" + "/checkVnfIdStatus/" + infraActiveRequests.getOperationalEnvId()));
 
 191         HttpEntity<String> entity = new HttpEntity(HttpEntity.EMPTY, headers);
 
 193         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
 
 194                 builder.toUriString(),
 
 195                 HttpMethod.GET,entity , InfraActiveRequests.class);
 
 197         infraActiveRequestsResponse = response.getBody();
 
 199         assertEquals(200, response.getStatusCodeValue());
 
 201         verifyInfraActiveRequests();
 
 205     public void checkInstanceNameDuplicateTest() {
 
 207         InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest((HashMap<String, String>) null,
 
 208                 infraActiveRequests.getOperationalEnvName(),
 
 209                 infraActiveRequests.getRequestScope());
 
 211         HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
 
 212         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
 
 214         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
 
 215                 builder.toUriString(),
 
 216                 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
 
 219         infraActiveRequestsResponse = response.getBody();
 
 221         assertEquals(200, response.getStatusCodeValue());
 
 223         verifyInfraActiveRequests();
 
 227     public void checkInstanceNameDuplicateViaTest() {
 
 229         Map<String, String> requestMap = new HashMap<>();
 
 230         requestMap.put("operationalEnvironmentId", infraActiveRequests.getOperationalEnvId());
 
 232         InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest = new InstanceNameDuplicateCheckRequest((HashMap<String, String>) requestMap,
 
 234                 infraActiveRequests.getRequestScope());
 
 236         HttpEntity<InstanceNameDuplicateCheckRequest> entityList = new HttpEntity(instanceNameDuplicateCheckRequest, headers);
 
 237         UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(createURLWithPort("/infraActiveRequests") + "/checkInstanceNameDuplicate");
 
 239         ResponseEntity<InfraActiveRequests> response = restTemplate.exchange(
 
 240                 builder.toUriString(),
 
 241                 HttpMethod.POST, entityList, new ParameterizedTypeReference<InfraActiveRequests>() {
 
 244         infraActiveRequestsResponse = response.getBody();
 
 246         assertEquals(200, response.getStatusCodeValue());
 
 248         verifyInfraActiveRequests();