diff options
author | Jerry Flood <jflood@att.com> | 2019-03-28 06:46:34 -0400 |
---|---|---|
committer | Jerry Flood <jflood@att.com> | 2019-03-28 06:47:04 -0400 |
commit | 8684696712cfe4120092b291cb124accc5712f62 (patch) | |
tree | 5333b80f6274917093e588109f148a60e1f1ffb6 /cmso-robot/robot/resources | |
parent | 0b477ebe952a088c278482f2d30b843559266a37 (diff) |
Testsuie for Optimizer mS
Issue-ID: OPTFRA-430
Change-Id: I4c9f42517019a5b30dd3ecd744bf8f15c939da58
Signed-off-by: Jerry Flood <jflood@att.com>
Diffstat (limited to 'cmso-robot/robot/resources')
-rw-r--r-- | cmso-robot/robot/resources/misc.robot | 5 | ||||
-rw-r--r-- | cmso-robot/robot/resources/optimizer_common.robot | 59 | ||||
-rw-r--r-- | cmso-robot/robot/resources/test_templates/optimizer.robot | 24 |
3 files changed, 87 insertions, 1 deletions
diff --git a/cmso-robot/robot/resources/misc.robot b/cmso-robot/robot/resources/misc.robot index d782400..0dd15e9 100644 --- a/cmso-robot/robot/resources/misc.robot +++ b/cmso-robot/robot/resources/misc.robot @@ -22,9 +22,12 @@ Validate Status Validate JSON Error [Documentation] Fails if messageIds do not match. expected_errors should be a list but a string would likely work as well - [Arguments] ${resp_json} ${expected_errors} + [Arguments] ${resp_json} ${expected_errors} ${listVars} ${result}= Get From Dictionary ${resp_json['requestError']} messageId + ${variables}= Get From Dictionary ${resp_json['requestError']} variables Should Contain ${expected_errors} ${result} #checks expected_errors list for the actual error received from schedule + :for ${var} IN @{listVars} + \ Should Contain ${variables} ${var} Check ATTIDs Template [Documentation] This just checks a list of uuids diff --git a/cmso-robot/robot/resources/optimizer_common.robot b/cmso-robot/robot/resources/optimizer_common.robot new file mode 100644 index 0000000..81c0c75 --- /dev/null +++ b/cmso-robot/robot/resources/optimizer_common.robot @@ -0,0 +1,59 @@ +*** Settings *** +Documentation The private interface for interacting with Openstack. It handles low level stuff like managing the authtoken and Openstack required fields + +Library Collections +Library RequestsLibrary +Library UUID +Library HTTPUtils +Library String +Resource misc.robot +*** Variables *** +*** Variables *** +${OPTIMIZER_PATH} /optimizer/v1 +${valid_status_codes} 200 202 400 404 204 409 +#**************** Test Case Variables ****************** + +*** Keywords *** + + +Post Optimizer + [Documentation] Runs a scheduler POST request + [Arguments] ${alias} ${resource} ${data}={} + ${data_path}= Catenate ${OPTIMIZER_PATH}/${resource} + ${url}= Catenate ${GLOBAL_OPTIMIZER_URL} + ${uuid}= Generate UUID + ${proxies}= Create Dictionary no=pass + ${session}= Create Session ${alias} ${url} + ${auth_string}= B64 Encode ${GLOBAL_OPTIMIZER_USER}:${GLOBAL_OPTIMIZER_PASSWORD} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} Authorization=Basic ${auth_string} + ${resp}= Post Request ${alias} ${data_path} headers=${headers} data=${data} + Log Received response from scheduler ${resp.text} + [Return] ${resp} + +Delete Optimizer + [Documentation] Runs a scheduler DELETE request (this may need to be changed for 1802 US change Delete schedule to Cancel Schedule) + [Arguments] ${alias} ${resource} + ${data_path}= Catenate ${OPTIMIZER_PATH}/${resource} + ${url}= Catenate ${GLOBAL_OPTIMIZER_URL} + ${uuid}= Generate UUID + ${proxies}= Create Dictionary no=pass + ${session}= Create Session ${alias} ${url} + ${auth_string}= B64 Encode ${GLOBAL_OPTIMIZER_USER}:${GLOBAL_OPTIMIZER_PASSWORD} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} Authorization=Basic ${auth_string} + ${resp}= Delete Request ${alias} ${data_path} headers=${headers} + Log Received response from scheduler ${resp.text} + [Return] ${resp} + +Get Optimizer + [Documentation] Runs a scheduler GET request + [Arguments] ${alias} ${resource} + ${data_path}= Catenate ${OPTIMIZER_PATH}/${resource} + ${url}= Catenate ${GLOBAL_OPTIMIZER_URL} + ${uuid}= Generate UUID + ${proxies}= Create Dictionary no=pass + ${session}= Create Session ${alias} ${url} + ${auth_string}= B64 Encode ${GLOBAL_OPTIMIZER_USER}:${GLOBAL_OPTIMIZER_PASSWORD} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} Authorization=Basic ${auth_string} + ${resp}= Get Request ${alias} ${data_path} headers=${headers} + Log Received response from scheduler ${resp.json()} + [Return] ${resp} diff --git a/cmso-robot/robot/resources/test_templates/optimizer.robot b/cmso-robot/robot/resources/test_templates/optimizer.robot new file mode 100644 index 0000000..9c4d563 --- /dev/null +++ b/cmso-robot/robot/resources/test_templates/optimizer.robot @@ -0,0 +1,24 @@ +*** Settings *** +Documentation Creates VID VNF Instance +Library StringTemplater +Library String +Library OperatingSystem +Library UUID +Library Collections +Library DateTime +Resource ../optimizer_common.robot +Resource ../json_templater.robot +Resource ../files.robot +*** Variables **** + + +*** Keywords *** +Optimizer Validation Template + [Arguments] ${template_folder} ${request_file} ${expected_status_code} ${expected_message} ${variables}=[] + ${uuid}= Generate UUID + ${map}= Create Dictionary uuid=${uuid} + ${data}= Fill JSON Template File ${template_folder}/${request_file} ${map} + ${resp}= Post Optimizer alias optimize/schedule ${data} + @{listVars}= Evaluate ${variables} + Validate JSON Error ${resp.json()} ${expected_Message} ${listVars} + |