Add CSIT files for optf/has for integration
Issue-ID: OPTFRA-158
Change-Id: Idc7827cf82e21bdddea4293c94516bdc0bfa2b6e
Signed-off-by: Leonardo Bellini <leonardo.bellini@att.com>
diff --git a/test/csit/plans/optf/has/sample.txt b/test/csit/plans/optf/has/sample.txt
deleted file mode 100644
index 9f4e8d7..0000000
--- a/test/csit/plans/optf/has/sample.txt
+++ /dev/null
@@ -1 +0,0 @@
-#test
diff --git a/test/csit/plans/optf/has/setup.sh b/test/csit/plans/optf/has/setup.sh
new file mode 100755
index 0000000..b2c8143
--- /dev/null
+++ b/test/csit/plans/optf/has/setup.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# add here eventual scripts needed for optf/has
+#
+echo "##########################################################";
+echo "#";
+echo "# optf/has scripts calling";
+echo "#";
+echo "##########################################################";
+source ${WORKSPACE}/test/csit/scripts/optf/has/has_script.sh
+
+#
+# add here below the start of all docker containers needed for optf/has CSIT testing
+#
+echo "##########################################################";
+echo "#";
+echo "# optf/has scripts docker containers spinoff";
+echo "#";
+echo "##########################################################";
+
+#
+# add here all the configuration steps eventually needed to be carried out for optf/has CSIT testing
+#
+echo "##########################################################";
+echo "#";
+echo "# optf/has configuration step";
+echo "#";
+echo "##########################################################";
+
+
+#
+# add here all ROBOT_VARIABLES settings
+#
+echo "##########################################################";
+echo "#";
+echo "# optf/has robot variables settings";
+echo "#";
+echo "##########################################################";
+ROBOT_VARIABLES="-v MUSIC_HOSTNAME:http://localhost -v MUSIC_PORT:8080 -v COND_HOSTNAME:http://localhost -v COND_PORT:8091"
+
+echo ${ROBOT_VARIABLES}
+
+
+
diff --git a/test/csit/plans/optf/has/teardown.sh b/test/csit/plans/optf/has/teardown.sh
new file mode 100755
index 0000000..b7e6cf0
--- /dev/null
+++ b/test/csit/plans/optf/has/teardown.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+#
+# add here below the killing of all docker containers used for optf/has CSIT testing
+#
+echo "##########################################################";
+echo "#";
+echo "# optf/has scripts docker containers killing";
+echo "#";
+echo "##########################################################";
+# kill-instance.sh <dockercontainername>
+
diff --git a/test/csit/plans/optf/has/testplan.txt b/test/csit/plans/optf/has/testplan.txt
new file mode 100644
index 0000000..0f9f84d
--- /dev/null
+++ b/test/csit/plans/optf/has/testplan.txt
@@ -0,0 +1,3 @@
+# Test suites are relative paths under [integration.git]/test/csit/tests/.
+# Place the suites in run order.
+optf/has
diff --git a/test/csit/scripts/optf/has/has_script.sh b/test/csit/scripts/optf/has/has_script.sh
new file mode 100755
index 0000000..6f1ddd6
--- /dev/null
+++ b/test/csit/scripts/optf/has/has_script.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+#
+# Copyright 2016-2017 Huawei Technologies Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+echo "######################################################################"
+echo "### "
+echo "### This is ${WORKSPACE}/test/csit/scripts/optf/has/has_script.sh"
+echo "### "
+echo "######################################################################"
+#
+# add here whatever commands is needed to prepare the optf/has CSIT testing
+#
+
diff --git a/test/csit/scripts/optf/has/testsample.txt b/test/csit/scripts/optf/osdf/testsample.txt
similarity index 100%
rename from test/csit/scripts/optf/has/testsample.txt
rename to test/csit/scripts/optf/osdf/testsample.txt
diff --git a/test/csit/tests/optf/has/__init__.robot b/test/csit/tests/optf/has/__init__.robot
new file mode 100644
index 0000000..fb654d7
--- /dev/null
+++ b/test/csit/tests/optf/has/__init__.robot
@@ -0,0 +1,4 @@
+*** Settings ***
+Documentation Integration - Suite 1
+
+
diff --git a/test/csit/tests/optf/has/data/plan_with_wrong_version.json b/test/csit/tests/optf/has/data/plan_with_wrong_version.json
new file mode 100644
index 0000000..9471fbf
--- /dev/null
+++ b/test/csit/tests/optf/has/data/plan_with_wrong_version.json
@@ -0,0 +1,175 @@
+{
+ "name": "onap optf has plan with wrong version",
+ "template": {
+ "conductor_template_version": "yyyy-mm-dd",
+ "parameters": {
+ "UCPEHOST": "chcil129snd",
+ "CUSTOMER":"21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "locations": {
+ "customer_loc": {
+ "host_name": {
+ "get_param": "UCPEHOST"
+ }
+ }
+ },
+ "demands": {
+ "vHNPortalaaS_PRIMARY_1": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "HNPORTAL",
+ "customer_id": {"get_param": "CUSTOMER"}
+ },
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "cloud"
+ }
+ ],
+ "vHNPortalaaS_SECONDARY_1": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "HNPORTAL",
+ "customer_id": {"get_param": "CUSTOMER"}
+ },
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "cloud"
+ }
+ ],
+ "vHNGWaaS_PRIMARY_1": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "HNGATEWAY",
+ "customer_id": {"get_param": "CUSTOMER"}
+ },
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "cloud"
+ }
+ ],
+ "vHNGWaaS_SECONDARY_1": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "HNGATEWAY",
+ "customer_id": {"get_param": "CUSTOMER"}
+ },
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "cloud"
+ }
+ ],
+ "vVIGaaS_PRIMARY_1": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "VVIG",
+ "customer_id": {"get_param": "CUSTOMER"}
+ }
+ ],
+ "vVIGaaS_SECONDARY_1": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "VVIG",
+ "customer_id": {"get_param": "CUSTOMER"}
+ }
+ ],
+ "vVIGaaS_PRIMARY_2": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "VVIG",
+ "customer_id": {"get_param": "CUSTOMER"}
+ }
+ ],
+ "vVIGaaS_SECONDARY_2": [
+ {
+ "inventory_provider": "aai",
+ "inventory_type": "service",
+ "service_type": "VVIG",
+ "customer_id": {"get_param": "CUSTOMER"}
+ }
+ ]
+ },
+ "constraints": {
+ "distance-vvig": {
+ "type": "distance_to_location",
+ "demands": [
+ "vVIGaaS_SECONDARY_1",
+ "vVIGaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "distance": "< 5000 km",
+ "location": "customer_loc"
+ }
+ },
+ "distance-vgw": {
+ "type": "distance_to_location",
+ "demands": [
+ "vHNGWaaS_SECONDARY_1",
+ "vHNGWaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "distance": "< 5000 km",
+ "location": "customer_loc"
+ }
+ },
+ "zone-vhngw": {
+ "type": "zone",
+ "demands": [
+ "vHNGWaaS_SECONDARY_1",
+ "vHNGWaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "qualifier": "different",
+ "category": "complex"
+ }
+ },
+ "zone-vhnportal": {
+ "type": "zone",
+ "demands": [
+ "vHNPortalaaS_SECONDARY_1",
+ "vHNPortalaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "qualifier": "different",
+ "category": "complex"
+ }
+ }
+ },
+ "optimization": {
+ "minimize": {
+ "sum": [
+ {
+ "product": [
+ 1,
+ {
+ "distance_between": [
+ "customer_loc",
+ "vVIGaaS_PRIMARY_1"
+ ]
+ }
+ ]
+ },
+ {
+ "product": [
+ 1,
+ {
+ "distance_between": [
+ "customer_loc",
+ "vHNGWaaS_PRIMARY_1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+},
+ "timeout": 5,
+ "limit": 3
+}
diff --git a/test/csit/tests/optf/has/data/plan_without_demand_section.json b/test/csit/tests/optf/has/data/plan_without_demand_section.json
new file mode 100644
index 0000000..87a459d
--- /dev/null
+++ b/test/csit/tests/optf/has/data/plan_without_demand_section.json
@@ -0,0 +1,93 @@
+{
+ "name": "onap optf has plan with wrong version",
+ "template": {
+ "conductor_template_version": "2016-11-01",
+ "parameters": {
+ "UCPEHOST": "chcil129snd",
+ "CUSTOMER":"21014aa2-526b-11e6-beb8-9e71128cae77"
+ },
+ "locations": {
+ "customer_loc": {
+ "host_name": {
+ "get_param": "UCPEHOST"
+ }
+ }
+ },
+ "constraints": {
+ "distance-vvig": {
+ "type": "distance_to_location",
+ "demands": [
+ "vVIGaaS_SECONDARY_1",
+ "vVIGaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "distance": "< 5000 km",
+ "location": "customer_loc"
+ }
+ },
+ "distance-vgw": {
+ "type": "distance_to_location",
+ "demands": [
+ "vHNGWaaS_SECONDARY_1",
+ "vHNGWaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "distance": "< 5000 km",
+ "location": "customer_loc"
+ }
+ },
+ "zone-vhngw": {
+ "type": "zone",
+ "demands": [
+ "vHNGWaaS_SECONDARY_1",
+ "vHNGWaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "qualifier": "different",
+ "category": "complex"
+ }
+ },
+ "zone-vhnportal": {
+ "type": "zone",
+ "demands": [
+ "vHNPortalaaS_SECONDARY_1",
+ "vHNPortalaaS_PRIMARY_1"
+ ],
+ "properties": {
+ "qualifier": "different",
+ "category": "complex"
+ }
+ }
+ },
+ "optimization": {
+ "minimize": {
+ "sum": [
+ {
+ "product": [
+ 1,
+ {
+ "distance_between": [
+ "customer_loc",
+ "vVIGaaS_PRIMARY_1"
+ ]
+ }
+ ]
+ },
+ {
+ "product": [
+ 1,
+ {
+ "distance_between": [
+ "customer_loc",
+ "vHNGWaaS_PRIMARY_1"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+},
+ "timeout": 5,
+ "limit": 3
+}
diff --git a/test/csit/tests/optf/has/data/sampletest.txt b/test/csit/tests/optf/has/data/sampletest.txt
deleted file mode 100644
index 9f4e8d7..0000000
--- a/test/csit/tests/optf/has/data/sampletest.txt
+++ /dev/null
@@ -1 +0,0 @@
-#test
diff --git a/test/csit/tests/optf/has/optf_has_test.robot b/test/csit/tests/optf/has/optf_has_test.robot
new file mode 100644
index 0000000..183cb68
--- /dev/null
+++ b/test/csit/tests/optf/has/optf_has_test.robot
@@ -0,0 +1,29 @@
+*** Settings ***
+Library OperatingSystem
+Library RequestsLibrary
+Library json
+
+*** Variables ***
+${MESSAGE} {"ping": "ok"}
+${RESP_STATUS} "error"
+${RESP_MESSAGE_WRONG_VERSION} "conductor_template_version must be one of: 2016-11-01"
+${RESP_MESSAGE_WITHOUT_DEMANDS} Undefined Demand
+
+#global variables
+${generatedPlanId}
+
+*** Test Cases ***
+Get Root Url
+ [Documentation] It sends a REST GET request to root url
+ 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/ headers=${headers}
+ Log To Console *********************
+ Log To Console response = ${resp}
+ Log To Console body = ${resp.text}
+ Should Be Equal As Integers ${resp.status_code} 200
+
+
+*** Keywords ***
+
+