Fix for Penetration test _ Session and cookie management
[vid.git] / vid-automation / src / main / java / org / onap / simulator / presetGenerator / presets / mso / PresetMSOCreateVfModuleWithVolumeGroupALaCarteCypress.java
1 package org.onap.simulator.presetGenerator.presets.mso;
2
3 public class PresetMSOCreateVfModuleWithVolumeGroupALaCarteCypress extends PresetMSOBaseCreateInstancePost {
4     private final String serviceInstanceId;
5     private final String vnfInstanceId;
6     private final String volumeGroupInstanceId;
7     private final boolean isVolumeGroupPreset;
8     private final String lcpCloudRegionId;
9
10     private PresetMSOCreateVfModuleWithVolumeGroupALaCarteCypress(Boolean isVolumeGroupPreset,
11         String requestId,
12         String serviceInstanceId,
13         String vnfInstanceId,
14         String volumeGroupInstanceId,
15         String lcpCloudRegionId,
16         String testApi,
17         boolean withTestApi
18     ) {
19         super(requestId, isVolumeGroupPreset ? volumeGroupInstanceId : DEFAULT_INSTANCE_ID, testApi, withTestApi);
20         this.serviceInstanceId = serviceInstanceId;
21         this.vnfInstanceId = vnfInstanceId;
22         this.isVolumeGroupPreset = isVolumeGroupPreset;
23         this.volumeGroupInstanceId = volumeGroupInstanceId;
24         this.lcpCloudRegionId = lcpCloudRegionId;
25     }
26
27     public static PresetMSOCreateVfModuleWithVolumeGroupALaCarteCypress forVfModule(String requestId,
28         String serviceInstanceId,
29         String vnfInstanceId,
30         String volumeGroupInstanceId,
31         String lcpCloudRegionId,
32         String testApi,
33         boolean withTestApi
34     ) {
35         return new PresetMSOCreateVfModuleWithVolumeGroupALaCarteCypress(false, requestId, serviceInstanceId, vnfInstanceId, volumeGroupInstanceId, lcpCloudRegionId, testApi, withTestApi);
36     }
37
38     public static PresetMSOCreateVfModuleWithVolumeGroupALaCarteCypress forVolumeGroup(String requestId,
39         String serviceInstanceId,
40         String vnfInstanceId,
41         String lcpCloudRegionId,
42         String testApi,
43         boolean withTestApi
44     ) {
45         return new PresetMSOCreateVfModuleWithVolumeGroupALaCarteCypress(true, requestId, serviceInstanceId, vnfInstanceId, requestId, lcpCloudRegionId, testApi, withTestApi);
46     }
47
48     @Override
49     public boolean isStrictMatch() {
50         return true;
51     }
52
53     @Override
54     public String getReqPath() {
55         String trailer = isVolumeGroupPreset ? "/volumeGroups" : "/vfModules";
56         return getRootPath() + "/serviceInstantiation/v./serviceInstances/" + serviceInstanceId + "/vnfs/" + vnfInstanceId + trailer;
57     }
58
59     @Override
60     public Object getRequestBody() {
61         return "" +
62                 "{" +
63                 "  \"requestDetails\":{" +
64                 "    \"modelInfo\":{" +
65                 "      \"modelType\":\"" + select("volumeGroup", "vfModule") + "\"," +
66                 "      \"modelInvariantId\":\"7253ff5c-97f0-4b8b-937c-77aeb4d79aa1\"," +
67                 "      \"modelVersionId\":\"25284168-24bb-4698-8cb4-3f509146eca5\"," +
68                 "      \"modelName\":\"2017488PasqualeVpe..PASQUALE_vRE_BV..module-1\"," +
69                 "      \"modelVersion\":\"6\"," +
70                 "      \"modelCustomizationId\":\"f7e7c365-60cf-49a9-9ebf-a1aa11b9d401\"," +
71                 "      \"modelCustomizationName\":\"2017488PasqualeVpe..PASQUALE_vRE_BV..module-1\"" +
72                 "    }," +
73                 "    \"cloudConfiguration\":{" +
74             "      \"lcpCloudRegionId\":\"" + lcpCloudRegionId + "\"," +
75                        addCloudOwnerIfNeeded() +
76                 "      \"tenantId\":\"092eb9e8e4b7412e8787dd091bc58e86\"" +
77                 "    }," +
78                 "    \"requestInfo\":{" +
79                 "      \"instanceName\":\"" + select("puwesovabe_vol", "puwesovabe") + "\"," +
80                 "      \"source\":\"VID\"," +
81                 "      \"suppressRollback\":false," +
82                 "      \"requestorId\":\"us16807000\"" +
83                 "    }," +
84                 "    \"relatedInstanceList\":[{" +
85                 "        \"relatedInstance\":{" +
86                 "          \"instanceId\":\"" + serviceInstanceId + "\"," +
87                 "          \"modelInfo\":{" +
88                 "            \"modelType\":\"service\"," +
89                 "            \"modelName\":\"action-data\"," +
90                 "            \"modelInvariantId\":\"e49fbd11-e60c-4a8e-b4bf-30fbe8f4fcc0\"," +
91                 "            \"modelVersion\":\"1.0\"," +
92                 "            \"modelVersionId\":\"2f80c596-27e5-4ca9-b5bb-e03a7fd4c0fd\"" +
93                 "          }" +
94                 "        }" +
95                 "     }, {" +
96                 "        \"relatedInstance\":{" +
97                 "          \"instanceId\":\"" + vnfInstanceId + "\"," +
98                 "          \"modelInfo\":{" +
99                 "            \"modelType\":\"vnf\"," +
100                 "            \"modelName\":\"2017-488_PASQUALE-vPE\"," +
101                 "            \"modelInvariantId\":\"72e465fe-71b1-4e7b-b5ed-9496118ff7a8\"," +
102                 "            \"modelVersion\":\"5.0\"," +
103                 "            \"modelVersionId\":\"69e09f68-8b63-4cc9-b9ff-860960b5db09\"," +
104                 "            \"modelCustomizationId\":\"1da7b585-5e61-4993-b95e-8e6606c81e45\"," +
105                 "            \"modelCustomizationName\":\"2017-488_PASQUALE-vPE 0\"" +
106                 "          }" +
107                 "        }" +
108                 select("", "      }, {" +
109                 "        \"relatedInstance\":{" +
110                 "          \"modelInfo\":{" +
111                 "            \"modelType\":\"volumeGroup\"" +
112                 "          }," +
113                 "          \"instanceId\":\"" + volumeGroupInstanceId + "\"," +
114                 "          \"instanceName\":\"puwesovabe_vol\"" +
115                 "        } ") +
116                 "      }" +
117                 "    ]," +
118                 "    \"requestParameters\":{" +
119                addTestApi()+
120                 "\"userParams\": [{"
121             + "                    \"name\": \"pasqualevpe0_bandwidth\","
122             + "                    \"value\": \"10\""
123             + "                }, {"
124             + "                    \"name\": \"2017488_pasqualevpe0_vnf_instance_name\","
125             + "                    \"value\": \"mtnj309me6\""
126             + "                }, {"
127             + "                    \"name\": \"2017488_pasqualevpe0_vnf_config_template_version\","
128             + "                    \"value\": \"17.2\""
129             + "                }, {"
130             + "                    \"name\": \"2017488_pasqualevpe0_AIC_CLLI\","
131             + "                    \"value\": \"ATLMY8GA\""
132             + "                }, {"
133             + "                    \"name\": \"pasqualevpe0_bandwidth_units\","
134             + "                    \"value\": \"Gbps\""
135             + "                }"
136             + "            ]," +
137                 "      \"usePreload\":true" +
138                 "    }" +
139                 "  }" +
140                 "}";
141     }
142
143     private String select(String ofVolumeGroup, String ofVfModule) {
144         return isVolumeGroupPreset ? ofVolumeGroup : ofVfModule;
145     }
146 }