aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtest/csit/scripts/optf-has/has/music_script.sh2
-rw-r--r--test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json49
-rw-r--r--test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json.service51
-rw-r--r--test/csit/tests/optf-has/has/data/plan_with_short_distance_constraint.json21
-rw-r--r--test/csit/tests/optf-has/has/data/plan_with_wrong_distance_constraint.json (renamed from test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json.orig)22
-rw-r--r--test/csit/tests/optf-has/has/optf_has_test.robot65
6 files changed, 100 insertions, 110 deletions
diff --git a/test/csit/scripts/optf-has/has/music_script.sh b/test/csit/scripts/optf-has/has/music_script.sh
index fb43e1b8b..39cab6194 100755
--- a/test/csit/scripts/optf-has/has/music_script.sh
+++ b/test/csit/scripts/optf-has/has/music_script.sh
@@ -55,7 +55,7 @@ docker run -d --name music-war -v music-vol:/app ${MUSIC_IMG};
docker run -d --name music-zk --network music-net -p "2181:2181" -p "2888:2888" -p "3888:3888" ${ZK_IMG};
# Delay for Cassandra
-sleep 20;
+sleep 30;
# Start Up tomcat - Needs to have properties,logs dir and war file volume mapped.
docker run -d --name music-tomcat --network music-net -p "8080:8080" -v music-vol:/usr/local/tomcat/webapps -v ${WORK_DIR}/properties:/opt/app/music/etc:ro -v ${WORK_DIR}/logs:/opt/app/music/logs ${TOMCAT_IMG};
diff --git a/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json b/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json
deleted file mode 100644
index 3e6d26791..000000000
--- a/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "name":"onap template with short distance constraint",
- "template":{
- "homing_template_version":"2017-10-10",
- "parameters":{
- "service_name":"Residential vCPE",
- "service_id":"vcpe_service_id",
- "customer_lat":25.395968,
- "customer_long":-51.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":{
- "distance-vg":{
- "type":"distance_to_location",
- "demands":[
- "vG"
- ],
- "properties":{
- "distance":"< 1 km",
- "location":"customer_loc"
- }
- }
- },
- "optimization":{
-
- }
- }
-}
diff --git a/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json.service b/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json.service
deleted file mode 100644
index b0d6478fc..000000000
--- a/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json.service
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name":"onap template with long distance constraint",
- "template":{
- "homing_template_version":"2017-10-10",
- "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":"service",
- "service_type": "VVIG",
- "customer_id": "21014aa2-526b-11e6-beb8-9e71128cae77"
- }
- ]
- },
- "constraints":{
- "distance-vg":{
- "type":"distance_to_location",
- "demands":[
- "vG"
- ],
- "properties":{
- "distance":"> 100 km",
- "location":"customer_loc"
- }
- }
- },
- "optimization":{
-
- }
- }
-}
diff --git a/test/csit/tests/optf-has/has/data/plan_with_short_distance_constraint.json b/test/csit/tests/optf-has/has/data/plan_with_short_distance_constraint.json
index 85a1a7387..68a7e119b 100644
--- a/test/csit/tests/optf-has/has/data/plan_with_short_distance_constraint.json
+++ b/test/csit/tests/optf-has/has/data/plan_with_short_distance_constraint.json
@@ -5,8 +5,8 @@
"parameters":{
"service_name":"Residential vCPE",
"service_id":"vcpe_service_id",
- "customer_lat":45.395968,
- "customer_long":-71.135344,
+ "customer_lat":25.395968,
+ "customer_long":-51.135344,
"physical_location":"DLLSTX233",
"REQUIRED_MEM":4,
"REQUIRED_DISK":100,
@@ -43,7 +43,22 @@
}
},
"optimization":{
-
+ "minimize": {
+ "sum": [
+ {
+ "distance_between": [
+ "customer_loc",
+ "vG"
+ ]
+ },
+ {
+ "distance_between": [
+ "customer_loc",
+ "vG"
+ ]
+ }
+ ]
+ }
}
}
}
diff --git a/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json.orig b/test/csit/tests/optf-has/has/data/plan_with_wrong_distance_constraint.json
index be410086c..9f25c2dff 100644
--- a/test/csit/tests/optf-has/has/data/plan_with_long_distance_constraint.json.orig
+++ b/test/csit/tests/optf-has/has/data/plan_with_wrong_distance_constraint.json
@@ -1,5 +1,5 @@
{
- "name":"onap template with long distance constraint",
+ "name":"onap template with wrong distance constraint",
"template":{
"homing_template_version":"2017-10-10",
"parameters":{
@@ -32,18 +32,32 @@
},
"constraints":{
"distance-vg":{
- "type":"distance_to_location",
"demands":[
"vG"
],
"properties":{
- "distance":"> 100 km",
+ "distance":"< 1 km",
"location":"customer_loc"
}
}
},
"optimization":{
-
+ "minimize": {
+ "sum": [
+ {
+ "distance_between": [
+ "customer_loc",
+ "vG"
+ ]
+ },
+ {
+ "distance_between": [
+ "customer_loc",
+ "vG"
+ ]
+ }
+ ]
+ }
}
}
}
diff --git a/test/csit/tests/optf-has/has/optf_has_test.robot b/test/csit/tests/optf-has/has/optf_has_test.robot
index d6de27632..62db10774 100644
--- a/test/csit/tests/optf-has/has/optf_has_test.robot
+++ b/test/csit/tests/optf-has/has/optf_has_test.robot
@@ -170,8 +170,6 @@ GetPlanWithWrongVersion
Should Be Equal As Integers ${resp.status_code} 200
Should Be Equal error ${resultStatus}
-
-
SendPlanWithoutDemandSection
[Documentation] It sends a POST request to conductor
Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT}
@@ -203,6 +201,37 @@ GetPlanWithoutDemandSection
Should Be Equal As Integers ${resp.status_code} 200
Should Be Equal error ${resultStatus}
+SendPlanWithWrongConstraint
+ [Documentation] It sends a POST request to conductor
+ Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT}
+ ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_wrong_distance_constraint.json
+ &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
+ ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers}
+ Log To Console *********************
+ Log To Console response = ${resp}
+ Log To Console body = ${resp.text}
+ ${response_json} json.loads ${resp.content}
+ ${generatedPlanId}= Convert To String ${response_json['id']}
+ Set Global Variable ${generatedPlanId}
+ Log To Console generatedPlanId = ${generatedPlanId}
+ Should Be Equal As Integers ${resp.status_code} 201
+ Sleep 10s Wait Plan Resolution
+
+GetPlanWithWrongConstraint
+ [Documentation] It sends a REST GET request to capture error
+ Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT}
+ &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
+ ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers}
+ Log To Console *********************
+ Log To Console response = ${resp}
+ ${response_json} json.loads ${resp.content}
+ ${resultStatus}= Convert To String ${response_json['plans'][0]['status']}
+ Set Global Variable ${resultStatus}
+ Log To Console resultStatus = ${resultStatus}
+ Log To Console body = ${resp.text}
+ Should Be Equal As Integers ${resp.status_code} 200
+ Should Be Equal error ${resultStatus}
+
SendPlanWithLatiAndLongi
[Documentation] It sends a POST request to conductor
@@ -235,6 +264,38 @@ GetPlanWithLatiAndLongi
Should Be Equal As Integers ${resp.status_code} 200
Should Be Equal done ${resultStatus}
+SendPlanWithShortDistanceConstraint
+ [Documentation] It sends a POST request to conductor
+ Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT}
+ ${data}= Get Binary File ${CURDIR}${/}data${/}plan_with_short_distance_constraint.json
+ &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
+ ${resp}= Post Request optf-cond /v1/plans data=${data} headers=${headers}
+ Log To Console *********************
+ Log To Console response = ${resp}
+ Log To Console body = ${resp.text}
+ ${response_json} json.loads ${resp.content}
+ ${generatedPlanId}= Convert To String ${response_json['id']}
+ Set Global Variable ${generatedPlanId}
+ Log To Console generatedPlanId = ${generatedPlanId}
+ Should Be Equal As Integers ${resp.status_code} 201
+ Sleep 60s Wait Plan Resolution
+
+GetPlanWithShortDistanceConstraint
+ [Documentation] It sends a REST GET request to capture recommendations
+ Create Session optf-cond ${COND_HOSTNAME}:${COND_PORT}
+ &{headers}= Create Dictionary Content-Type=application/json Accept=application/json
+ ${resp}= Get Request optf-cond /v1/plans/${generatedPlanId} headers=${headers}
+ Log To Console *********************
+ Log To Console response = ${resp}
+ ${response_json} json.loads ${resp.content}
+ ${resultStatus}= Convert To String ${response_json['plans'][0]['status']}
+ Set Global Variable ${resultStatus}
+ Log To Console resultStatus = ${resultStatus}
+ Log To Console body = ${resp.text}
+ Should Be Equal As Integers ${resp.status_code} 200
+ Should Be Equal not found ${resultStatus}
+
+
*** Keywords ***