e09f973d6c5327773da7b672d90d97c574672a91
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / mso / PresetMSOCreateVfModuleALaCarteE2E.java
1 package org.onap.simulator.presetGenerator.presets.mso;
2
3 import org.apache.commons.lang3.ObjectUtils;
4 import vid.automation.test.infra.ModelInfo;
5 import vid.automation.test.infra.ModelInfoWithCustomization;
6
7 public class PresetMSOCreateVfModuleALaCarteE2E extends PresetMSOCreateVfModuleBase {
8
9     protected final String requestorId;
10     protected final ModelInfo serviceModelInfo;
11     private final String instanceName;
12     private final ModelInfoWithCustomization resourceModelInfo;
13     private final String relatedInstance;
14
15     public PresetMSOCreateVfModuleALaCarteE2E(
16         String overrideRequestId,
17         String responseInstanceId,
18         String serviceInstanceId,
19         String vnfInstanceId,
20         String requestorId,
21         ModelInfo serviceModelInfo,
22         String instanceName,
23         ModelInfoWithCustomization resourceModelInfo,
24         String relatedInstance) {
25             super(overrideRequestId, responseInstanceId, serviceInstanceId, vnfInstanceId, resourceModelInfo.resourceType);
26             this.requestorId = requestorId;
27             this.serviceModelInfo = serviceModelInfo;
28             this.instanceName = instanceName;
29             this.resourceModelInfo = resourceModelInfo;
30             this.relatedInstance = relatedInstance;
31     }
32
33     @Override
34     public Object getRequestBody() {
35         return "{"
36             + "    \"requestDetails\": {"
37             +   resourceModelInfo.createMsoModelInfo()
38             + "        \"cloudConfiguration\": {"
39             + "            \"lcpCloudRegionId\": \"hvf6\","
40             +               addCloudOwnerIfNeeded()
41             + "            \"tenantId\": \"bae71557c5bb4d5aac6743a4e5f1d054\""
42             + "        },"
43             + "        \"requestInfo\": {"
44             +           addInstanceName()
45             + "            \"source\": \"VID\","
46             + "            \"suppressRollback\": false,"
47             + "            \"requestorId\": \""+requestorId+"\""
48             + "        },"
49             + "        \"relatedInstanceList\": [{"
50             + "                \"relatedInstance\": {"
51             +                   serviceModelInfo.createMsoModelInfo()
52             + "                    \"instanceId\": \""+serviceInstanceId+"\""
53             + "                }"
54             + "            }, {"
55             + "                \"relatedInstance\": {"
56             + "                    \"modelInfo\": {"
57             + "                        \"modelCustomizationName\": \"vOCG_1804_VF 0\","
58             + "                        \"modelCustomizationId\": \"e9ed1da0-c078-426a-8e84-6f4e85eace59\","
59             + "                        \"modelInvariantId\": \"db23d71a-4cb4-4030-9c9b-e3f886c2b35c\","
60             + "                        \"modelVersionId\": \"aca3f7b1-15f9-45a5-b182-b8b5aca84a76\","
61             + "                        \"modelName\": \"vOCG_1804_VF\","
62             + "                        \"modelType\": \"vnf\","
63             + "                        \"modelVersion\": \"4.0\""
64             + "                    },"
65             + "                    \"instanceId\": \""+vnfInstanceId+"\""
66             + "                }"
67             + "            }" + addRelatedInstance()
68             + "        ],"
69             + "        \"requestParameters\": {"
70             + "               \"userParams\": [{"
71             + "                    \"name\": \"param\","
72             + "                    \"value\": \"ABCD\""
73             + "                }, {"
74             + "                    \"name\": \"vnf_instance_name\","
75             + "                    \"value\": \"sample\""
76             + "                }"
77             + "            ],"
78             + "            \"testApi\": \"VNF_API\""
79             + "        }"
80             + "    }"
81             + "}";
82     }
83
84     private String addInstanceName() {
85         return instanceName==null ? "" :
86             "\"instanceName\": \""+instanceName+"\",";
87     }
88
89     private String addRelatedInstance() {
90         return ObjectUtils.defaultIfNull(relatedInstance, "");
91     }
92 }