Add CSIT testing for optf-has
Add one more test case for OOF homing.
Change-Id: I2e022964c1448b53cb629ccd850b3660fe069270
Issue-ID: OPTFRA-449
Signed-off-by: Ruoyu Ying <ruoyu.ying@intel.com>
diff --git a/robot/assets/templates/optf-has/plan_with_wrong_version.json b/robot/assets/templates/optf-has/plan_with_wrong_version.json
new file mode 100644
index 0000000..670bcb6
--- /dev/null
+++ b/robot/assets/templates/optf-has/plan_with_wrong_version.json
@@ -0,0 +1,40 @@
+{
+ "name":"onap template with wrong version",
+ "template":{
+ "homing_template_version":"xxxx-yy-zz",
+ "parameters":{
+ "service_name":"Residential vCPE",
+ "service_id":"vcpe_service_id",
+ "customer_lat":45.395968,
+ "customer_long":-71.135344,
+ "physical_location":"DLLSTX233",
+ "REQUIRED_MEM":4,
+ "REQUIRED_DISK":100,
+ "pnf_id":"some_pnf_id"
+ },
+ "locations":{
+ "customer_loc":{
+ "latitude":{
+ "get_param":"customer_lat"
+ },
+ "longitude":{
+ "get_param":"customer_long"
+ }
+ }
+ },
+ "demands":{
+ "vG":[
+ {
+ "inventory_provider":"aai",
+ "inventory_type":"cloud"
+ }
+ ]
+ },
+ "constraints":{
+
+ },
+ "optimization":{
+
+ }
+ }
+}
diff --git a/robot/resources/oof_interface.robot b/robot/resources/oof_interface.robot
index 24a2345..aad0652 100644
--- a/robot/resources/oof_interface.robot
+++ b/robot/resources/oof_interface.robot
@@ -1,5 +1,6 @@
*** Settings ***
Documentation The main interface for interacting with OOF: SNIRO and Homing Service
+Library json5
Library RequestsLibrary
Library UUID
Library String
@@ -16,11 +17,14 @@
${OOF_CMSO_TEMPLATE_FOLDER} robot/assets/templates/cmso
${OOF_CMSO_UTC} %Y-%m-%dT%H:%M:%SZ
+${OOF_HOMING_PLAN_FOLDER} robot/assets/templates/optf-has
${OOF_HOMING_ENDPOINT} ${GLOBAL_OOF_SERVER_PROTOCOL}://${GLOBAL_INJECTED_OOF_HOMING_IP_ADDR}:${GLOBAL_OOF_HOMING_SERVER_PORT}
${OOF_SNIRO_ENDPOINT} ${GLOBAL_OOF_SERVER_PROTOCOL}://${GLOBAL_INJECTED_OOF_SNIRO_IP_ADDR}:${GLOBAL_OOF_SNIRO_SERVER_PORT}
${OOF_CMSO_ENDPOINT} ${GLOBAL_OOF_CMSO_PROTOCOL}://${GLOBAL_INJECTED_OOF_CMSO_IP_ADDR}:${GLOBAL_OOF_CMSO_SERVER_PORT}
+${OOF_HOMING_AUTH} Basic YWRtaW4xOnBsYW4uMTU=
+
*** Keywords ***
Run OOF-Homing Health Check
[Documentation] Runs OOF-Homing Health check
@@ -36,6 +40,22 @@
Log Received response from OOF-Homing ${resp.text}
[Return] ${resp}
+RUN OOF-Homing SendPlanWithWrongVersion
+ [Documentation] It sends a POST request to conductor
+ ${session}= Create Session optf-cond ${OOF_HOMING_ENDPOINT}
+ ${data}= Get Binary File ${OOF_HOMING_PLAN_FOLDER}${/}plan_with_wrong_version.json
+ &{headers}= Create Dictionary Authorization=${OOF_HOMING_Auth} Content-Type=application/json Accept=application/json
+ ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers}
+ Log *********************
+ Log response = ${resp}
+ Log body = ${resp.text}
+ ${response_json} json5.Loads ${resp.content}
+ ${generatedPlanId}= Convert To String ${response_json['id']}
+ Set Global Variable ${generatedPlanId}
+ Log generatedPlanId = ${generatedPlanId}
+ Should Be Equal As Integers ${resp.status_code} 201
+ Sleep 10s Wait Plan Resolution
+
Run OOF-SNIRO Health Check
[Documentation] Runs OOF-SNIRO Health check
${resp}= Run OOF-SNIRO Get Request ${OOF_SNIRO_HEALTH_CHECK_PATH}
@@ -143,4 +163,4 @@
[Arguments] ${json}
${json_string}= Evaluate json.dumps(${json}) json
${escaped}= Replace String ${json_string} " \\"
- [Return] ${escaped}
\ No newline at end of file
+ [Return] ${escaped}
diff --git a/robot/testsuites/oof-has.robot b/robot/testsuites/oof-has.robot
new file mode 100644
index 0000000..f0dd047
--- /dev/null
+++ b/robot/testsuites/oof-has.robot
@@ -0,0 +1,10 @@
+*** Settings ***
+Documentation Testing OOF-HAS
+...
+... Testing OOF-HAS SEND PLANS
+Resource ../resources/oof_interface.robot
+
+*** Test Cases ***
+Basic OOF-HAS CSIT
+ [Tags] has
+ Run OOF-Homing SendPlanWithWrongVersion
diff --git a/setup.sh b/setup.sh
index e91555e..cf9b6ed 100755
--- a/setup.sh
+++ b/setup.sh
@@ -32,6 +32,7 @@
'robotframework-httplibrary==0.4.2' \
'robotframework-archivelibrary==0.3.2' \
'PyYAML==3.12' \
+'json5==0.7.0' \
'robotframework-kafkalibrary==0.0.2'
@@ -156,4 +157,4 @@
brew install protobuf ;;
Linux)
apt-get -y install protobuf-compiler
-esac
\ No newline at end of file
+esac