aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOCreateVfModuleALaCarteE2E.java
blob: e09f973d6c5327773da7b672d90d97c574672a91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package org.onap.simulator.presetGenerator.presets.mso;

import org.apache.commons.lang3.ObjectUtils;
import vid.automation.test.infra.ModelInfo;
import vid.automation.test.infra.ModelInfoWithCustomization;

public class PresetMSOCreateVfModuleALaCarteE2E extends PresetMSOCreateVfModuleBase {

    protected final String requestorId;
    protected final ModelInfo serviceModelInfo;
    private final String instanceName;
    private final ModelInfoWithCustomization resourceModelInfo;
    private final String relatedInstance;

    public PresetMSOCreateVfModuleALaCarteE2E(
        String overrideRequestId,
        String responseInstanceId,
        String serviceInstanceId,
        String vnfInstanceId,
        String requestorId,
        ModelInfo serviceModelInfo,
        String instanceName,
        ModelInfoWithCustomization resourceModelInfo,
        String relatedInstance) {
            super(overrideRequestId, responseInstanceId, serviceInstanceId, vnfInstanceId, resourceModelInfo.resourceType);
            this.requestorId = requestorId;
            this.serviceModelInfo = serviceModelInfo;
            this.instanceName = instanceName;
            this.resourceModelInfo = resourceModelInfo;
            this.relatedInstance = relatedInstance;
    }

    @Override
    public Object getRequestBody() {
        return "{"
            + "    \"requestDetails\": {"
            +   resourceModelInfo.createMsoModelInfo()
            + "        \"cloudConfiguration\": {"
            + "            \"lcpCloudRegionId\": \"hvf6\","
            +               addCloudOwnerIfNeeded()
            + "            \"tenantId\": \"bae71557c5bb4d5aac6743a4e5f1d054\""
            + "        },"
            + "        \"requestInfo\": {"
            +           addInstanceName()
            + "            \"source\": \"VID\","
            + "            \"suppressRollback\": false,"
            + "            \"requestorId\": \""+requestorId+"\""
            + "        },"
            + "        \"relatedInstanceList\": [{"
            + "                \"relatedInstance\": {"
            +                   serviceModelInfo.createMsoModelInfo()
            + "                    \"instanceId\": \""+serviceInstanceId+"\""
            + "                }"
            + "            }, {"
            + "                \"relatedInstance\": {"
            + "                    \"modelInfo\": {"
            + "                        \"modelCustomizationName\": \"vOCG_1804_VF 0\","
            + "                        \"modelCustomizationId\": \"e9ed1da0-c078-426a-8e84-6f4e85eace59\","
            + "                        \"modelInvariantId\": \"db23d71a-4cb4-4030-9c9b-e3f886c2b35c\","
            + "                        \"modelVersionId\": \"aca3f7b1-15f9-45a5-b182-b8b5aca84a76\","
            + "                        \"modelName\": \"vOCG_1804_VF\","
            + "                        \"modelType\": \"vnf\","
            + "                        \"modelVersion\": \"4.0\""
            + "                    },"
            + "                    \"instanceId\": \""+vnfInstanceId+"\""
            + "                }"
            + "            }" + addRelatedInstance()
            + "        ],"
            + "        \"requestParameters\": {"
            + "               \"userParams\": [{"
            + "                    \"name\": \"param\","
            + "                    \"value\": \"ABCD\""
            + "                }, {"
            + "                    \"name\": \"vnf_instance_name\","
            + "                    \"value\": \"sample\""
            + "                }"
            + "            ],"
            + "            \"testApi\": \"VNF_API\""
            + "        }"
            + "    }"
            + "}";
    }

    private String addInstanceName() {
        return instanceName==null ? "" :
            "\"instanceName\": \""+instanceName+"\",";
    }

    private String addRelatedInstance() {
        return ObjectUtils.defaultIfNull(relatedInstance, "");
    }
}