* ONAP - SO
* ================================================================================
* Copyright (C) 2017 - 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (c) 2022, Samsung Electronics. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
package org.onap.so.adapters.requestsdb.client;
+import static com.shazam.shazamcrest.MatcherAssert.assertThat;
+import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import java.sql.Timestamp;
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
import org.junit.Before;
import org.junit.Test;
-import org.junit.runner.RunWith;
import org.onap.so.adapters.requestsdb.RequestsAdapterBase;
-import org.onap.so.adapters.requestsdb.application.MSORequestDBApplication;
import org.onap.so.db.request.beans.CloudApiRequests;
import org.onap.so.db.request.beans.InfraActiveRequests;
import org.onap.so.db.request.beans.OperationStatus;
import org.onap.so.db.request.beans.OperationalEnvDistributionStatus;
import org.onap.so.db.request.beans.OperationalEnvServiceModelStatus;
import org.onap.so.db.request.beans.RequestProcessingData;
+import org.onap.so.serviceinstancebeans.ModelType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.server.LocalServerPort;
-import org.springframework.boot.test.context.SpringBootTest;
-import org.springframework.test.context.ActiveProfiles;
-import org.springframework.test.context.junit4.SpringRunner;
-import java.util.List;
-import java.util.UUID;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.ArrayList;
-import static com.shazam.shazamcrest.matcher.Matchers.sameBeanAs;
-import static com.shazam.shazamcrest.MatcherAssert.assertThat;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertFalse;
public class RequestsDbClientTest extends RequestsAdapterBase {
infraActiveRequests.setNetworkName("networkInstanceNameTest");
infraActiveRequests.setConfigurationId(UUID.randomUUID().toString());
infraActiveRequests.setConfigurationName("configurationInstanceNameTest");
- infraActiveRequests.setAicCloudRegion("1");
+ infraActiveRequests.setCloudRegion("1");
infraActiveRequests.setTenantId(UUID.randomUUID().toString());
infraActiveRequests.setRequestScope("operationalEnvironment");
infraActiveRequests.setRequestorId(UUID.randomUUID().toString());
infraActiveRequests.setSource("sourceTest");
infraActiveRequests.setOperationalEnvName(UUID.randomUUID().toString());
infraActiveRequests.setRequestStatus("IN_PROGRESS");
- infraActiveRequests.setAction("create");
infraActiveRequests.setRequestAction("someaction");
+ infraActiveRequests.setStartTime(new Timestamp(System.currentTimeMillis()));
infraActiveRequests
.setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");
List<CloudApiRequests> cloudApiRequests = new ArrayList<>();
cloudApiRequests.add(cloudRequest);
infraActiveRequests.setCloudApiRequests(cloudApiRequests);
requestsDbClient.save(infraActiveRequests);
+
+ InfraActiveRequests infraActiveRequests2 = new InfraActiveRequests();
+ infraActiveRequests2.setRequestId(UUID.randomUUID().toString());
+ infraActiveRequests2.setOperationalEnvId(UUID.randomUUID().toString());
+ infraActiveRequests2.setServiceInstanceId(UUID.randomUUID().toString());
+ infraActiveRequests2.setServiceInstanceName("serviceInstanceNameTest");
+ infraActiveRequests2.setVnfId(UUID.randomUUID().toString());
+ infraActiveRequests2.setVnfName("vnfInstanceNameTest");
+ infraActiveRequests2.setVfModuleId(UUID.randomUUID().toString());
+ infraActiveRequests2.setVfModuleName("vfModuleInstanceNameTest");
+ infraActiveRequests2.setVolumeGroupId(UUID.randomUUID().toString());
+ infraActiveRequests2.setVolumeGroupName("volumeGroupInstanceNameTest");
+ infraActiveRequests2.setNetworkId(UUID.randomUUID().toString());
+ infraActiveRequests2.setNetworkName("networkInstanceNameTest");
+ infraActiveRequests2.setConfigurationId(UUID.randomUUID().toString());
+ infraActiveRequests2.setConfigurationName("configurationInstanceNameTest");
+ infraActiveRequests2.setCloudRegion("1");
+ infraActiveRequests2.setTenantId(UUID.randomUUID().toString());
+ infraActiveRequests2.setRequestScope("operationalEnvironment");
+ infraActiveRequests2.setRequestorId(UUID.randomUUID().toString());
+ infraActiveRequests2.setSource("sourceTest");
+ infraActiveRequests2.setOperationalEnvName(UUID.randomUUID().toString());
+ infraActiveRequests2.setRequestStatus("IN_PROGRESS");
+ infraActiveRequests2.setRequestAction("someaction");
+ infraActiveRequests2.setStartTime(new Timestamp(System.currentTimeMillis()));
+ infraActiveRequests
+ .setRequestUrl("http://localhost:8080/onap/so/infra/serviceInstantiation/v7/serviceInstances");
}
private void verifyOperationStatus(OperationStatus request, OperationStatus response) {
assertEquals(2, requestProcessingDataList.size());
}
+
@Test
public void findOneByOperationalEnvIdAndServiceModelVersionIdAndRequestIdTest() {
OperationalEnvServiceModelStatus operationalEnvServiceModelStatus =
assertEquals("ERROR", operationalEnvDistributionStatus.getDistributionIdErrorReason());
assertEquals("00032ab7-3fb3-42e5-965d-8ea592502017", operationalEnvDistributionStatus.getRequestId());
}
+
+ @Test
+ public void getRequestProcessingDataBySoRequestIdAndName() {
+ RequestProcessingData requestProcessingData = requestsDbClient
+ .getRequestProcessingDataBySoRequestIdAndNameAndGrouping("00032ab7-na18-42e5-965d-8ea592502018",
+ "requestAction", "7d2e8c07-4d10-456d-bddc-37abf38ca714");
+ assertNotNull(requestProcessingData);
+
+ }
+
+ @Test
+ public void getInfraActiveRequestbyRequestId_Filters_Test() {
+ Map<String, String[]> filters = new HashMap<>();
+ filters.put("requestStatus", new String[] {"EQ", "IN_PROGRESS"});
+ filters.put("action", new String[] {"EQ", "create"});
+ filters.put("serviceInstanceId", new String[] {"EQ", infraActiveRequests.getServiceInstanceId()});
+ List<InfraActiveRequests> infraActiveRequestsResponse = requestsDbClient.getRequest(filters);
+
+ verifyInfraActiveRequests(infraActiveRequestsResponse.get(0));
+ }
+
+ @Test
+ public void getInProgressVolumeGroupsAndVfModulesTest() {
+ InfraActiveRequests request = new InfraActiveRequests();
+ request.setRequestId(UUID.randomUUID().toString());
+ request.setVfModuleId(UUID.randomUUID().toString());
+ request.setRequestStatus("IN_PROGRESS");
+ request.setRequestScope(ModelType.vfModule.toString());
+ Instant startInstant = Instant.now().minus(3, ChronoUnit.MINUTES);
+ request.setStartTime(Timestamp.from(startInstant));
+ request.setRequestAction("create");
+ requestsDbClient.save(request);
+
+ List<InfraActiveRequests> infraActiveRequests = requestsDbClient.getInProgressVolumeGroupsAndVfModules();
+ assertThat(request, sameBeanAs(infraActiveRequests.get(0)).ignoring("modifyTime"));
+ }
+
+ @Test
+ public void getRequestProcessingDataBySoRequestIdAndNameAndTag() {
+ List<RequestProcessingData> requestProcessingData =
+ requestsDbClient.getRequestProcessingDataBySoRequestIdAndNameAndTagOrderByCreateTimeDesc(
+ "00032ab7-na18-42e5-965d-8ea592502018", "requestAction", "pincFabricConfigRequest");
+ assertNotNull(requestProcessingData);
+ assertEquals(1, requestProcessingData.size());
+ assertEquals("assign", requestProcessingData.get(0).getValue());
+ }
}
+