2 Documentation The main interface for interacting with ASDC. It handles low level stuff like managing the http request library and DCAE required fields
3 Library RequestsLibrary
6 Library OperatingSystem
8 Library ExtendedSelenium2Library
9 Resource global_properties.robot
10 Resource browser_setup.robot
11 Resource json_templater.robot
13 ${ASDC_DESIGNER_USER_ID} cs0008
14 ${ASDC_TESTER_USER_ID} jm0007
15 ${ASDC_GOVERNOR_USER_ID} gv0001
16 ${ASDC_OPS_USER_ID} op0001
17 ${ASDC_HEALTH_CHECK_PATH} /sdc1/rest/healthCheck
18 ${ASDC_VENDOR_LICENSE_MODEL_PATH} /onboarding-api/v1.0/vendor-license-models
19 ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH} /onboarding-api/v1.0/vendor-software-products
20 ${ASDC_VENDOR_KEY_GROUP_PATH} /license-key-groups
21 ${ASDC_VENDOR_ENTITLEMENT_POOL_PATH} /entitlement-pools
22 ${ASDC_VENDOR_FEATURE_GROUP_PATH} /feature-groups
23 ${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} /license-agreements
24 ${ASDC_VENDOR_ACTIONS_PATH} /actions
25 ${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} /orchestration-template-candidate
26 ${ASDC_CATALOG_RESOURCES_PATH} /sdc2/rest/v1/catalog/resources
27 ${ASDC_CATALOG_SERVICES_PATH} /sdc2/rest/v1/catalog/services
28 ${ASDC_CATALOG_INACTIVE_RESOURCES_PATH} /sdc2/rest/v1/inactiveComponents/resource
29 ${ASDC_CATALOG_INACTIVE_SERVICES_PATH} /sdc2/rest/v1/inactiveComponents/service
30 ${ASDC_CATALOG_LIFECYCLE_PATH} /lifecycleState
31 ${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH} /resourceInstance
32 ${ASDC_CATALOG_SERVICE_DISTRIBUTION_STATE_PATH} /distribution-state
33 ${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH} /distribution
34 ${ASDC_DISTRIBUTION_STATE_APPROVE_PATH} /approve
35 ${ASDC_CATALOG_SERVICE_DISTRIBUTION_ACTIVATE_PATH} /distribution/PROD/activate
36 ${ASDC_LICENSE_MODEL_TEMPLATE} robot/assets/templates/asdc/license_model.template
37 ${ASDC_KEY_GROUP_TEMPLATE} robot/assets/templates/asdc/key_group.template
38 ${ASDC_ENTITLEMENT_POOL_TEMPLATE} robot/assets/templates/asdc/entitlement_pool.template
39 ${ASDC_FEATURE_GROUP_TEMPLATE} robot/assets/templates/asdc/feature_group.template
40 ${ASDC_LICENSE_AGREEMENT_TEMPLATE} robot/assets/templates/asdc/license_agreement.template
41 ${ASDC_ACTION_TEMPLATE} robot/assets/templates/asdc/action.template
42 ${ASDC_SOFTWARE_PRODUCT_TEMPLATE} robot/assets/templates/asdc/software_product.template
43 ${ASDC_CATALOG_RESOURCE_TEMPLATE} robot/assets/templates/asdc/catalog_resource.template
44 ${ASDC_USER_REMARKS_TEMPLATE} robot/assets/templates/asdc/user_remarks.template
45 ${ASDC_CATALOG_SERVICE_TEMPLATE} robot/assets/templates/asdc/catalog_service.template
46 ${ASDC_RESOURCE_INSTANCE_TEMPLATE} robot/assets/templates/asdc/resource_instance.template
47 ${ASDC_FE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_FE_IP_ADDR}:${GLOBAL_ASDC_FE_PORT}
48 ${ASDC_BE_ENDPOINT} ${GLOBAL_ASDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_ASDC_BE_PORT}
51 Distribute Model From ASDC
52 [Documentation] goes end to end creating all the asdc objects based ona model and distributing it to the systems. it then returns the service name, vf name and vf module name
53 [Arguments] ${model_zip_path} ${catalog_service_name}=
54 ${catalog_service_id}= Add ASDC Catalog Service ${catalog_service_name}
55 ${catalog_resource_ids}= Create List
56 : FOR ${zip} IN @{model_zip_path}
57 \ ${loop_catalog_resource_id}= Setup ASDC Catalog Resource ${zip}
58 \ Append To List ${catalog_resource_ids} ${loop_catalog_resource_id}
59 \ ${loop_catalog_resource_resp}= Get ASDC Catalog Resource ${loop_catalog_resource_id}
60 \ Add ASDC Resource Instance ${catalog_service_id} ${loop_catalog_resource_id} ${loop_catalog_resource_resp['name']}
61 ${catalog_service_resp}= Get ASDC Catalog Service ${catalog_service_id}
62 Checkin ASDC Catalog Service ${catalog_service_id}
63 Request Certify ASDC Catalog Service ${catalog_service_id}
64 Start Certify ASDC Catalog Service ${catalog_service_id}
65 # on certify it gets a new id
66 ${catalog_service_id}= Certify ASDC Catalog Service ${catalog_service_id}
67 Approve ASDC Catalog Service ${catalog_service_id}
68 Distribute ASDC Catalog Service ${catalog_service_id}
69 ${catalog_service_resp}= Get ASDC Catalog Service ${catalog_service_id}
70 ${vf_module}= Find Element In Array ${loop_catalog_resource_resp['groups']} type org.openecomp.groups.VfModule
71 [Return] ${catalog_service_resp['name']} ${loop_catalog_resource_resp['name']} ${vf_module} ${catalog_resource_ids} ${catalog_service_id}
72 Check Catalog Service Distributed ${catalog_service_resp['uuid']}
73 Setup ASDC Catalog Resource
74 [Documentation] Creates all the steps a vf needs for an asdc catalog resource and returns the id
75 [Arguments] ${model_zip_path}
76 ${license_model_id}= Add ASDC License Model
77 ${key_group_id}= Add ASDC License Group ${license_model_id}
78 ${pool_id}= Add ASDC Entitlement Pool ${license_model_id}
79 ${feature_group_id}= Add ASDC Feature Group ${license_model_id} ${key_group_id} ${pool_id}
80 ${license_agreement_id}= Add ASDC License Agreement ${license_model_id} ${feature_group_id}
81 Checkin ASDC License Model ${license_model_id}
82 Submit ASDC License Model ${license_model_id}
83 ${license_model_resp}= Get ASDC License Model ${license_model_id} 1.0
84 ${software_product_id}= Add ASDC Software Product ${license_agreement_id} ${feature_group_id} ${license_model_resp['vendorName']} ${license_model_id}
85 Upload ASDC Heat Package ${software_product_id} ${model_zip_path}
86 Validate ASDC Software Product ${software_product_id}
87 Checkin ASDC Software Product ${software_product_id}
88 Submit ASDC Software Product ${software_product_id}
89 Package ASDC Software Product ${software_product_id}
90 ${software_product_resp}= Get ASDC Software Product ${software_product_id} 1.0
91 ${catalog_resource_id}= Add ASDC Catalog Resource ${license_agreement_id} ${software_product_resp['name']} ${license_model_resp['vendorName']} ${software_product_id}
92 Checkin ASDC Catalog Resource ${catalog_resource_id}
93 Request Certify ASDC Catalog Resource ${catalog_resource_id}
94 Start Certify ASDC Catalog Resource ${catalog_resource_id}
95 # on certify it gets a new id
96 [Return] ${catalog_resource_id}
97 ${catalog_resource_id}= Certify ASDC Catalog Resource ${catalog_resource_id}
98 Add ASDC License Model
99 [Documentation] Creates an asdc license model and returns its id
100 ${uuid}= Generate UUID
101 ${shortened_uuid}= Evaluate str("${uuid}")[:23]
102 ${map}= Create Dictionary vendor_name=${shortened_uuid}
103 ${data}= Fill JSON Template File ${ASDC_LICENSE_MODEL_TEMPLATE} ${map}
104 ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH} ${data}
105 Should Be Equal As Strings ${resp.status_code} 200
106 [Return] ${resp.json()['value']}
107 Get ASDC License Model
108 [Documentation] gets an asdc license model by its id
109 [Arguments] ${id} ${version_id}=0.1
110 ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}
111 [Return] ${resp.json()}
112 Get ASDC License Models
113 [Documentation] gets an asdc license model by its id
114 ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}
115 [Return] ${resp.json()}
116 Checkin ASDC License Model
117 [Documentation] checksin an asdc license model by its id
118 [Arguments] ${id} ${version_id}=0.1
119 ${map}= Create Dictionary action=Checkin
120 ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
121 ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
122 Should Be Equal As Strings ${resp.status_code} 200
123 [Return] ${resp.json()}
124 Submit ASDC License Model
125 [Documentation] submits an asdc license model by its id
126 [Arguments] ${id} ${version_id}=0.1
127 ${map}= Create Dictionary action=Submit
128 ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
129 ${resp}= Run ASDC Put Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
130 Should Be Equal As Strings ${resp.status_code} 200
131 [Return] ${resp.json()}
132 Checkin ASDC Software Product
133 [Documentation] checksin an asdc Software Product by its id
134 [Arguments] ${id} ${version_id}=0.1
135 ${map}= Create Dictionary action=Checkin
136 ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
137 ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
138 Should Be Equal As Strings ${resp.status_code} 200
139 [Return] ${resp.json()}
140 Validate ASDC Software Product
141 [Documentation] checksin an asdc Software Product by its id
142 [Arguments] ${id} ${version_id}=0.1
144 ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}/orchestration-template-candidate/process ${data}
145 Should Be Equal As Strings ${resp.status_code} 200
146 [Return] ${resp.json()}
147 Submit ASDC Software Product
148 [Documentation] submits an asdc Software Product by its id
149 [Arguments] ${id} ${version_id}=0.1
150 ${map}= Create Dictionary action=Submit
151 ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
152 ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
153 Should Be Equal As Strings ${resp.status_code} 200
154 [Return] ${resp.json()}
155 Package ASDC Software Product
156 [Documentation] creates_package on an asdc Software Product by its id
157 [Arguments] ${id} ${version_id}=0.1
158 ${map}= Create Dictionary action=Create_Package
159 ${data}= Fill JSON Template File ${ASDC_ACTION_TEMPLATE} ${map}
160 ${resp}= Run ASDC Put Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${id}/versions/${version_id}${ASDC_VENDOR_ACTIONS_PATH} ${data}
161 Should Be Equal As Strings ${resp.status_code} 200
162 [Return] ${resp.json()}
163 Add ASDC Entitlement Pool
164 [Documentation] Creates an asdc Entitlement Pool and returns its id
165 [Arguments] ${license_model_id} ${version_id}=0.1
166 ${uuid}= Generate UUID
167 ${shortened_uuid}= Evaluate str("${uuid}")[:23]
168 ${map}= Create Dictionary entitlement_pool_name=${shortened_uuid}
169 ${data}= Fill JSON Template File ${ASDC_ENTITLEMENT_POOL_TEMPLATE} ${map}
170 ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH} ${data}
171 Should Be Equal As Strings ${resp.status_code} 200
172 [Return] ${resp.json()['value']}
173 Get ASDC Entitlement Pool
174 [Documentation] gets an asdc Entitlement Pool by its id
175 [Arguments] ${license_model_id} ${pool_id}
176 ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_ENTITLEMENT_POOL_PATH}/${pool_id}
177 [Return] ${resp.json()}
178 Add ASDC License Group
179 [Documentation] Creates an asdc license group and returns its id
180 [Arguments] ${license_model_id} ${version_id}=0.1
181 ${uuid}= Generate UUID
182 ${shortened_uuid}= Evaluate str("${uuid}")[:23]
183 ${map}= Create Dictionary key_group_name=${shortened_uuid}
184 ${data}= Fill JSON Template File ${ASDC_KEY_GROUP_TEMPLATE} ${map}
185 ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH} ${data}
186 Should Be Equal As Strings ${resp.status_code} 200
187 [Return] ${resp.json()['value']}
188 Get ASDC License Group
189 [Documentation] gets an asdc license group by its id
190 [Arguments] ${license_model_id} ${group_id} ${version_id}
191 ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_KEY_GROUP_PATH}/${group_id}
192 [Return] ${resp.json()}
193 Add ASDC Feature Group
194 [Documentation] Creates an asdc Feature Group and returns its id
195 [Arguments] ${license_model_id} ${key_group_id} ${entitlement_pool_id} ${version_id}=0.1
196 ${uuid}= Generate UUID
197 ${shortened_uuid}= Evaluate str("${uuid}")[:23]
198 ${map}= Create Dictionary feature_group_name=${shortened_uuid} key_group_id=${key_group_id} entitlement_pool_id=${entitlement_pool_id} manufacturer_reference_number=mrn${shortened_uuid}
199 ${data}= Fill JSON Template File ${ASDC_FEATURE_GROUP_TEMPLATE} ${map}
200 ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_FEATURE_GROUP_PATH} ${data}
201 Should Be Equal As Strings ${resp.status_code} 200
202 [Return] ${resp.json()['value']}
203 Get ASDC Feature Group
204 [Documentation] gets an asdc Feature Group by its id
205 [Arguments] ${license_model_id} ${group_id}
206 ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_FEATURE_GROUP_PATH}/${group_id}
207 [Return] ${resp.json()}
208 Add ASDC License Agreement
209 [Documentation] Creates an asdc License Agreement and returns its id
210 [Arguments] ${license_model_id} ${feature_group_id} ${version_id}=0.1
211 ${uuid}= Generate UUID
212 ${shortened_uuid}= Evaluate str("${uuid}")[:23]
213 ${map}= Create Dictionary license_agreement_name=${shortened_uuid} feature_group_id=${feature_group_id}
214 ${data}= Fill JSON Template File ${ASDC_LICENSE_AGREEMENT_TEMPLATE} ${map}
215 ${resp}= Run ASDC Post Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}/versions/${version_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH} ${data}
216 Should Be Equal As Strings ${resp.status_code} 200
217 [Return] ${resp.json()['value']}
218 Get ASDC License Agreement
219 [Documentation] gets an asdc License Agreement by its id
220 [Arguments] ${license_model_id} ${agreement_id}
221 ${resp}= Run ASDC Get Request ${ASDC_VENDOR_LICENSE_MODEL_PATH}/${license_model_id}${ASDC_VENDOR_LICENSE_AGREEMENT_PATH}/${agreement_id}
222 [Return] ${resp.json()}
223 Add ASDC Software Product
224 [Documentation] Creates an asdc Software Product and returns its id
225 [Arguments] ${license_agreement_id} ${feature_group_id} ${license_model_name} ${license_model_id}
226 ${uuid}= Generate UUID
227 ${shortened_uuid}= Evaluate str("${uuid}")[:23]
228 ${map}= Create Dictionary software_product_name=${shortened_uuid} feature_group_id=${feature_group_id} license_agreement_id=${license_agreement_id} vendor_name=${license_model_name} vendor_id=${license_model_id}
229 ${data}= Fill JSON Template File ${ASDC_SOFTWARE_PRODUCT_TEMPLATE} ${map}
230 ${resp}= Run ASDC Post Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH} ${data}
231 Should Be Equal As Strings ${resp.status_code} 200
232 [Return] ${resp.json()['vspId']}
233 Get ASDC Software Product
234 [Documentation] gets an asdc Software Product by its id
235 [Arguments] ${software_product_id} ${version_id}=0.1
236 ${resp}= Run ASDC Get Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}
237 [Return] ${resp.json()}
238 Add ASDC Catalog Resource
239 [Documentation] Creates an asdc Catalog Resource and returns its id
240 [Arguments] ${license_agreement_id} ${software_product_name} ${license_model_name} ${software_product_id}
241 ${map}= Create Dictionary software_product_id=${software_product_id} software_product_name=${software_product_name} license_agreement_id=${license_agreement_id} vendor_name=${license_model_name}
242 ${data}= Fill JSON Template File ${ASDC_CATALOG_RESOURCE_TEMPLATE} ${map}
243 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
244 Should Be Equal As Strings ${resp.status_code} 201
245 [Return] ${resp.json()['uniqueId']}
246 Mark ASDC Catalog Resource Inactive
247 [Documentation] deletes an asdc Catalog Resource
248 [Arguments] ${catalog_resource_id}
249 ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id} ${ASDC_DESIGNER_USER_ID}
250 Should Be Equal As Strings ${resp.status_code} 204
252 Delete Inactive ASDC Catalog Resources
253 [Documentation] delete all asdc Catalog Resources that are inactive
254 ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_INACTIVE_RESOURCES_PATH} ${ASDC_DESIGNER_USER_ID}
255 Should Be Equal As Strings ${resp.status_code} 200
256 [Return] ${resp.json()}
257 Get ASDC Catalog Resource
258 [Documentation] gets an asdc Catalog Resource by its id
259 [Arguments] ${catalog_resource_id}
260 ${resp}= Run ASDC Get Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id} ${ASDC_DESIGNER_USER_ID}
261 [Return] ${resp.json()}
262 Checkin ASDC Catalog Resource
263 [Documentation] checksin an asdc Catalog Resource by its id
264 [Arguments] ${catalog_resource_id}
265 ${map}= Create Dictionary user_remarks=Robot remarks
266 ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
267 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin ${data} ${ASDC_DESIGNER_USER_ID}
268 Should Be Equal As Strings ${resp.status_code} 200
269 [Return] ${resp.json()}
270 Request Certify ASDC Catalog Resource
271 [Documentation] requests certify on an asdc Catalog Resource by its id
272 [Arguments] ${catalog_resource_id}
273 ${map}= Create Dictionary user_remarks=Robot remarks
274 ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
275 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest ${data} ${ASDC_DESIGNER_USER_ID}
276 Should Be Equal As Strings ${resp.status_code} 200
277 [Return] ${resp.json()}
278 Start Certify ASDC Catalog Resource
279 [Documentation] start certify an asdc Catalog Resource by its id
280 [Arguments] ${catalog_resource_id}
281 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/startCertification ${None} ${ASDC_TESTER_USER_ID}
282 Should Be Equal As Strings ${resp.status_code} 200
283 [Return] ${resp.json()}
284 Certify ASDC Catalog Resource
285 [Documentation] start certify an asdc Catalog Resource by its id and returns the new id
286 [Arguments] ${catalog_resource_id}
287 ${map}= Create Dictionary user_remarks=Robot remarks
288 ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
289 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_RESOURCES_PATH}/${catalog_resource_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify ${data} ${ASDC_TESTER_USER_ID}
290 Should Be Equal As Strings ${resp.status_code} 200
291 [Return] ${resp.json()['uniqueId']}
292 Upload ASDC Heat Package
293 [Documentation] Creates an asdc Software Product and returns its id
294 [Arguments] ${software_product_id} ${file_path} ${version_id}=0.1
295 ${file}= Get Binary File ${file_path}
296 ${files}= Create Dictionary upload=${file}
297 ${resp}= Run ASDC Post Files Request ${ASDC_VENDOR_SOFTWARE_PRODUCT_PATH}/${software_product_id}/versions/${version_id}${ASDC_VENDOR_SOFTWARE_UPLOAD_PATH} ${files} ${ASDC_DESIGNER_USER_ID}
298 Should Be Equal As Strings ${resp.status_code} 200
299 Add ASDC Catalog Service
300 [Documentation] Creates an asdc Catalog Service and returns its id
301 [Arguments] ${catalog_service_name}
302 ${uuid}= Generate UUID
303 ${shortened_uuid}= Evaluate str("${uuid}")[:23]
304 ${catalog_service_name}= Set Variable If '${catalog_service_name}' =='' ${shortened_uuid} ${catalog_service_name}
305 ${map}= Create Dictionary service_name=${catalog_service_name}
306 ${data}= Fill JSON Template File ${ASDC_CATALOG_SERVICE_TEMPLATE} ${map}
307 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
308 Should Be Equal As Strings ${resp.status_code} 201
309 [Return] ${resp.json()['uniqueId']}
310 Mark ASDC Catalog Service Inactive
311 [Documentation] Deletes an asdc Catalog Service
312 [Arguments] ${catalog_service_id}
313 ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id} ${ASDC_DESIGNER_USER_ID}
314 Should Be Equal As Strings ${resp.status_code} 204
316 Delete Inactive ASDC Catalog Services
317 [Documentation] delete all asdc Catalog Serivces that are inactive
318 ${resp}= Run ASDC Delete Request ${ASDC_CATALOG_INACTIVE_SERVICES_PATH} ${ASDC_DESIGNER_USER_ID}
319 Should Be Equal As Strings ${resp.status_code} 200
320 [Return] ${resp.json()}
321 Get ASDC Catalog Service
322 [Documentation] gets an asdc Catalog Service by its id
323 [Arguments] ${catalog_service_id}
324 ${resp}= Run ASDC Get Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id} ${ASDC_DESIGNER_USER_ID}
325 [Return] ${resp.json()}
326 Checkin ASDC Catalog Service
327 [Documentation] checksin an asdc Catalog Service by its id
328 [Arguments] ${catalog_service_id}
329 ${map}= Create Dictionary user_remarks=Robot remarks
330 ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
331 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/checkin ${data} ${ASDC_DESIGNER_USER_ID}
332 Should Be Equal As Strings ${resp.status_code} 200
333 [Return] ${resp.json()}
334 Request Certify ASDC Catalog Service
335 [Documentation] requests certify on an asdc Catalog Service by its id
336 [Arguments] ${catalog_service_id}
337 ${map}= Create Dictionary user_remarks=Robot remarks
338 ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
339 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certificationRequest ${data} ${ASDC_DESIGNER_USER_ID}
340 Should Be Equal As Strings ${resp.status_code} 200
341 [Return] ${resp.json()}
342 Start Certify ASDC Catalog Service
343 [Documentation] start certify an asdc Catalog Service by its id
344 [Arguments] ${catalog_service_id}
345 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/startCertification ${None} ${ASDC_TESTER_USER_ID}
346 Should Be Equal As Strings ${resp.status_code} 200
347 [Return] ${resp.json()}
348 Certify ASDC Catalog Service
349 [Documentation] start certify an asdc Catalog Service by its id and returns the new id
350 [Arguments] ${catalog_service_id}
351 ${map}= Create Dictionary user_remarks=Robot remarks
352 ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
353 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_LIFECYCLE_PATH}/certify ${data} ${ASDC_TESTER_USER_ID}
354 Should Be Equal As Strings ${resp.status_code} 200
355 [Return] ${resp.json()['uniqueId']}
356 Approve ASDC Catalog Service
357 [Documentation] approve an asdc Catalog Service by its id
358 [Arguments] ${catalog_service_id}
359 ${map}= Create Dictionary user_remarks=Robot remarks
360 ${data}= Fill JSON Template File ${ASDC_USER_REMARKS_TEMPLATE} ${map}
361 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_DISTRIBUTION_STATE_PATH}${ASDC_DISTRIBUTION_STATE_APPROVE_PATH} ${data} ${ASDC_GOVERNOR_USER_ID}
362 Should Be Equal As Strings ${resp.status_code} 200
363 [Return] ${resp.json()}
364 Distribute ASDC Catalog Service
365 [Documentation] distribute an asdc Catalog Service by its id
366 [Arguments] ${catalog_service_id}
367 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_DISTRIBUTION_ACTIVATE_PATH} ${None} ${ASDC_OPS_USER_ID}
368 Should Be Equal As Strings ${resp.status_code} 200
369 [Return] ${resp.json()}
370 Add ASDC Resource Instance
371 [Documentation] Creates an asdc Resource Instance and returns its id
372 [Arguments] ${catalog_service_id} ${catalog_resource_id} ${catalog_resource_name}
373 ${milli_timestamp}= Generate MilliTimestamp UUID
374 ${map}= Create Dictionary catalog_resource_id=${catalog_resource_id} catalog_resource_name=${catalog_resource_name} milli_timestamp=${milli_timestamp}
375 ${data}= Fill JSON Template File ${ASDC_RESOURCE_INSTANCE_TEMPLATE} ${map}
376 ${resp}= Run ASDC Post Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_id}${ASDC_CATALOG_SERVICE_RESOURCE_INSTANCE_PATH} ${data} ${ASDC_DESIGNER_USER_ID}
377 Should Be Equal As Strings ${resp.status_code} 201
378 [Return] ${resp.json()['uniqueId']}
379 Get Catalog Service Distribution
380 [Documentation] gets an asdc catalog Service distrbution
381 [Arguments] ${catalog_service_uuid}
382 ${resp}= Run ASDC Get Request ${ASDC_CATALOG_SERVICES_PATH}/${catalog_service_uuid}${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH} ${ASDC_OPS_USER_ID}
383 Should Be Equal As Strings ${resp.status_code} 200
384 [Return] ${resp.json()}
385 Check Catalog Service Distributed
386 [Documentation] gets an asdc catalog Service distrbution
387 [Arguments] ${catalog_service_uuid}
388 ${dist_resp}= Get Catalog Service Distribution ${catalog_service_uuid}
389 Should Be Equal As Strings ${dist_resp['distributionStatusOfServiceList'][0]['deployementStatus']} Distributed
390 ${det_resp}= Get Catalog Service Distribution Details ${dist_resp['distributionStatusOfServiceList'][0]['distributionID']}
391 @{ITEMS}= Copy List ${det_resp['distributionStatusList']}
392 :FOR ${ELEMENT} IN @{ITEMS}
393 \ Log ${ELEMENT['status']}
394 \ Should Match Regexp ${ELEMENT['status']} ^(DEPLOY_OK|NOTIFIED|DOWNLOAD_OK|NOT_NOTIFIED)$
395 Get Catalog Service Distribution Details
396 [Documentation] gets an asdc catalog Service distrbution details
397 [Arguments] ${catalog_service_distribution_id}
398 ${resp}= Run ASDC Get Request ${ASDC_CATALOG_SERVICES_PATH}${ASDC_CATALOG_SERVICE_DISTRIBUTION_PATH}/${catalog_service_distribution_id} ${ASDC_OPS_USER_ID}
399 Should Be Equal As Strings ${resp.status_code} 200
400 [Return] ${resp.json()}
401 Run ASDC Health Check
402 [Documentation] Runs a ASDC health check
403 ${session}= Create Session asdc ${ASDC_FE_ENDPOINT}
404 ${uuid}= Generate UUID
405 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
406 ${resp}= Get Request asdc ${ASDC_HEALTH_CHECK_PATH} headers=${headers}
407 Should Be Equal As Strings ${resp.status_code} 200
408 @{ITEMS}= Copy List ${resp.json()['componentsInfo']}
409 :FOR ${ELEMENT} IN @{ITEMS}
410 \ Log ${ELEMENT['healthCheckStatus']}
411 \ Should Be Equal As Strings ${ELEMENT['healthCheckStatus']} UP
413 [Documentation] Runs an ASDC get request
414 [Arguments] ${data_path} ${user}=${ASDC_DESIGNER_USER_ID}
415 ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
416 Log Creating session ${ASDC_BE_ENDPOINT}
417 ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
418 ${uuid}= Generate UUID
419 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
420 ${resp}= Get Request asdc ${data_path} headers=${headers}
421 Log Received response from asdc ${resp.text}
424 [Documentation] Runs an ASDC put request
425 [Arguments] ${data_path} ${data} ${user}=${ASDC_DESIGNER_USER_ID}
426 ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
427 Log Creating session ${ASDC_BE_ENDPOINT}
428 ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
429 ${uuid}= Generate UUID
430 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
431 ${resp}= Put Request asdc ${data_path} data=${data} headers=${headers}
432 Log Received response from asdc ${resp.text}
434 Run ASDC Post Files Request
435 [Documentation] Runs an ASDC post request
436 [Arguments] ${data_path} ${files} ${user}=${ASDC_DESIGNER_USER_ID}
437 ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
438 Log Creating session ${ASDC_BE_ENDPOINT}
439 ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
440 ${uuid}= Generate UUID
441 ${headers}= Create Dictionary Accept=application/json Content-Type=multipart/form-data USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
442 ${resp}= Post Request asdc ${data_path} files=${files} headers=${headers}
443 Log Received response from asdc ${resp.text}
445 Run ASDC Post Request
446 [Documentation] Runs an ASDC post request
447 [Arguments] ${data_path} ${data} ${user}=${ASDC_DESIGNER_USER_ID}
448 ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
449 Log Creating session ${ASDC_BE_ENDPOINT}
450 ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
451 ${uuid}= Generate UUID
452 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
453 ${resp}= Post Request asdc ${data_path} data=${data} headers=${headers}
454 Log Received response from asdc ${resp.text}
456 Run ASDC Delete Request
457 [Documentation] Runs an ASDC delete request
458 [Arguments] ${data_path} ${user}=${ASDC_DESIGNER_USER_ID}
459 ${auth}= Create List ${GLOBAL_ASDC_BE_USERNAME} ${GLOBAL_ASDC_BE_PASSWORD}
460 Log Creating session ${ASDC_BE_ENDPOINT}
461 ${session}= Create Session asdc ${ASDC_BE_ENDPOINT} auth=${auth}
462 ${uuid}= Generate UUID
463 ${headers}= Create Dictionary Accept=application/json Content-Type=application/json USER_ID=${user} X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID}
464 ${resp}= Delete Request asdc ${data_path} headers=${headers}
465 Log Received response from asdc ${resp.text}
468 [Documentation] Logs in to ASDC GUI
470 ## Setup Browever now being managed by the test case
472 Go To ${ASDC_FE_ENDPOINT}${PATH}
473 Maximize Browser Window
474 Set Selenium Speed ${GLOBAL_SELENIUM_DELAY}
475 Set Browser Implicit Wait ${GLOBAL_SELENIUM_BROWSER_IMPLICIT_WAIT}
476 Log Logging in to ${ASDC_FE_ENDPOINT}${PATH}
478 Wait Until Page Contains Element xpath=//div/a[text()='SDC'] ${GLOBAL_SELENIUM_BROWSER_WAIT_TIMEOUT}
479 Log Logged in to ${ASDC_FE_ENDPOINT}${PATH}