--- /dev/null
+package org.onap.so.openstack.beans;
+
+import java.util.Map;
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+public class CreateStackRequest {
+
+ @JsonProperty("parameters")
+ private Map<String, Object> parameters;
+
+ @JsonProperty("environment")
+ private String environment;
+
+ public Map<String, Object> getParameters() {
+ return parameters;
+ }
+
+ public void setParameters(Map<String, Object> parameters) {
+ this.parameters = parameters;
+ }
+
+ public String getEnvironment() {
+ return environment;
+ }
+
+ public void setEnvironment(String environment) {
+ this.environment = environment;
+ }
+
+ @Override
+ public String toString() {
+ return "CreateStackRequest [parameters=" + parameters + ", environment=" + environment + "]";
+ }
+
+
+}
import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.logger.ErrorCode;
import org.onap.so.logger.MessageEnum;
+import org.onap.so.openstack.beans.CreateStackRequest;
import org.onap.so.openstack.beans.HeatStatus;
import org.onap.so.openstack.beans.StackInfo;
import org.onap.so.openstack.exceptions.MsoCloudSiteNotFound;
try {
ObjectMapper mapper = new ObjectMapper();
InfraActiveRequests foundRequest = requestDBClient.getInfraActiveRequestbyRequestId(requestId);
- String stackRequest = mapper.writeValueAsString(request.getParameters());
+ CreateStackRequest createStackRequest = new CreateStackRequest();
+ createStackRequest.setEnvironment(request.getEnvironment());
+ createStackRequest.setParameters(request.getParameters());
+ String stackRequest = mapper.writeValueAsString(createStackRequest);
CloudApiRequests cloudReq = new CloudApiRequests();
cloudReq.setCloudIdentifier(stackName);
cloudReq.setRequestBody(stackRequest);
import org.onap.so.db.request.beans.CloudApiRequests;
import org.onap.so.db.request.beans.InfraActiveRequests;
import org.onap.so.db.request.client.RequestsDbClient;
+import org.onap.so.openstack.beans.CreateStackRequest;
import org.onap.so.openstack.exceptions.MsoException;
import org.onap.so.openstack.exceptions.MsoOpenstackException;
import org.onap.so.openstack.exceptions.MsoStackAlreadyExists;
import org.springframework.core.env.Environment;
+import com.fasterxml.jackson.databind.ObjectMapper;
import com.woorea.openstack.base.client.OpenStackResponseException;
import com.woorea.openstack.heat.Heat;
import com.woorea.openstack.heat.StackResource;
@Test
public final void saveStack_Test() throws MsoException, IOException, NovaClientException {
+
CreateStackParam createStackParam = new CreateStackParam();
createStackParam.setStackName("stackName");
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("test", "value");
+ String environment =
+ "parameters:\n mmn_volume_name_1: \"data-mn-v-vdb\"\n mmn_volume_name_2: \"arch-mn-v-vdc\"\n";
createStackParam.setParameters(parameters);
+ createStackParam.setEnvironment(environment);
+
+ CreateStackRequest createStackRequest = new CreateStackRequest();
+ createStackRequest.setEnvironment(environment);
+ createStackRequest.setParameters(parameters);
+ ObjectMapper mapper = new ObjectMapper();
+ String stackRequest = mapper.writeValueAsString(createStackRequest);
+
InfraActiveRequests request = new InfraActiveRequests();
request.setRequestId("requestId");
doReturn(request).when(requestDbClient).getInfraActiveRequestbyRequestId("requestId");
heatUtils.saveStackRequest(createStackParam, "requestId", "stackName");
Mockito.verify(requestDbClient, times(1)).updateInfraActiveRequests(request);
assertNotNull(request.getCloudApiRequests().get(0));
- assertEquals(request.getCloudApiRequests().get(0).getRequestId(), "requestId");
+ assertEquals("requestId", request.getCloudApiRequests().get(0).getRequestId());
+ assertEquals(stackRequest, request.getCloudApiRequests().get(0).getRequestBody());
}
@Test