| *** Settings *** |
| Documentation Creates a macro service recipe in SO Catalog DB |
| |
| Library OperatingSystem |
| Library Collections |
| Library ONAPLibrary.SO WITH NAME SO |
| Library ONAPLibrary.Templating WITH NAME Templating |
| Resource ../global_properties.robot |
| |
| *** Variables *** |
| ${SERVICE_RECIPE_PATH} /serviceRecipe |
| |
| ${SYSTEM USER} robot-ete |
| ${SO_ADD_SERVICE_RECIPE} so/service_recipe.jinja |
| |
| |
| |
| *** Keywords *** |
| Add Service Recipe |
| [Documentation] Creates a macro service recipe in SO Catalog DB |
| [Arguments] ${service_model_UUID} ${orchestrationUri} |
| ${id}= Get First Free Service Recipe Id |
| ${arguments}= Create Dictionary service_model_UUID=${service_model_UUID} orchestrationUri=${orchestrationUri} id=${id} |
| Templating.Create Environment so ${GLOBAL_TEMPLATE_FOLDER} |
| ${data}= Templating.Apply Template so ${SO_ADD_SERVICE_RECIPE} ${arguments} |
| ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD} |
| ${get_resp}= SO.Run Post Request ${GLOBAL_SO_CATDB_ENDPOINT} ${SERVICE_RECIPE_PATH} ${data} auth=${auth} |
| Should Be Equal As Strings ${get_resp.status_code} 201 |
| [Return] ${id} |
| |
| Get Service Recipe |
| [Documentation] Gets service recipe/s in SO |
| [Arguments] ${service_id}= |
| ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD} |
| ${get_resp}= SO.Run Get Request ${GLOBAL_SO_CATDB_ENDPOINT} ${SERVICE_RECIPE_PATH}/${service_id} auth=${auth} |
| Should Be Equal As Strings ${get_resp.status_code} 200 |
| [Return] ${get_resp} |
| |
| Get First Free Service Recipe Id |
| [Documentation] Gets first free service recipe id in SO |
| ${get_resp}= Get Service Recipe |
| ${source data}= Set Variable ${get_resp.json()} |
| Log ${source data} |
| ${serviceRecipes}= Set Variable ${source data['_embedded']['serviceRecipe']} |
| ${ids}= Create List |
| :FOR ${recipe} IN @{serviceRecipes} |
| \ ${id}= Get From Dictionary ${recipe} id |
| \ Append To List ${ids} ${id} |
| Sort list ${ids} |
| ${biggest_id}= Get From List ${ids} -1 |
| Log Biggest id is ${biggest_id} first free is ${biggest_id+1} |
| [Return] ${biggest_id+1} |
| |
| Delete Service Recipe |
| [Documentation] Deletes service recipe/s in SO |
| [Arguments] ${service_id} |
| ${auth}= Create List ${GLOBAL_SO_CATDB_USERNAME} ${GLOBAL_SO_PASSWORD} |
| ${get_resp}= SO.Run Delete Request ${GLOBAL_SO_CATDB_ENDPOINT} ${SERVICE_RECIPE_PATH}/${service_id} auth=${auth} |
| Should Be Equal As Strings ${get_resp.status_code} 204 |