From 9c0b46832ff031e337a13358eb83752c853aa1fc Mon Sep 17 00:00:00 2001 From: eh552t Date: Mon, 21 Aug 2017 11:10:11 +0200 Subject: initial integration tests for CLAMP Commit the first test for CLAMP, UIs and TCA first Change-Id: I902e7ea79210c114eaf03943a83ac71bbfbf012e Signed-off-by: eh552t Issue-Id: CLAMP-33 --- test/csit/plans/clamp/TCA/setup.sh | 54 ++++++++++++++++++++++ test/csit/plans/clamp/TCA/teardown.sh | 21 +++++++++ test/csit/plans/clamp/TCA/testplan.txt | 4 ++ test/csit/plans/clamp/UIs/setup.sh | 54 ++++++++++++++++++++++ test/csit/plans/clamp/UIs/teardown.sh | 21 +++++++++ test/csit/plans/clamp/UIs/testplan.txt | 4 ++ test/csit/scripts/clamp/script1.sh | 17 +++++++ test/csit/tests/clamp/TCA/__init__.robot | 2 + .../csit/tests/clamp/TCA/data/createTemplate1.json | 7 +++ .../csit/tests/clamp/TCA/data/createTemplate2.json | 7 +++ test/csit/tests/clamp/TCA/test1.robot | 38 +++++++++++++++ test/csit/tests/clamp/UIs/__init__.robot | 2 + test/csit/tests/clamp/UIs/test1.robot | 47 +++++++++++++++++++ 13 files changed, 278 insertions(+) create mode 100755 test/csit/plans/clamp/TCA/setup.sh create mode 100755 test/csit/plans/clamp/TCA/teardown.sh create mode 100644 test/csit/plans/clamp/TCA/testplan.txt create mode 100755 test/csit/plans/clamp/UIs/setup.sh create mode 100755 test/csit/plans/clamp/UIs/teardown.sh create mode 100644 test/csit/plans/clamp/UIs/testplan.txt create mode 100755 test/csit/scripts/clamp/script1.sh create mode 100644 test/csit/tests/clamp/TCA/__init__.robot create mode 100644 test/csit/tests/clamp/TCA/data/createTemplate1.json create mode 100644 test/csit/tests/clamp/TCA/data/createTemplate2.json create mode 100644 test/csit/tests/clamp/TCA/test1.robot create mode 100644 test/csit/tests/clamp/UIs/__init__.robot create mode 100644 test/csit/tests/clamp/UIs/test1.robot diff --git a/test/csit/plans/clamp/TCA/setup.sh b/test/csit/plans/clamp/TCA/setup.sh new file mode 100755 index 000000000..6398827bc --- /dev/null +++ b/test/csit/plans/clamp/TCA/setup.sh @@ -0,0 +1,54 @@ +#!/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. +# +# Modifications copyright (c) 2017 AT&T Intellectual Property +# +# Place the scripts in run order: +source ${WORKSPACE}/test/csit/scripts/clamp/script1.sh + +# Clone Clamp repo to get extra folder that has all needed to run docker with docker-compose to start DB and Clamp +mkdir -p $WORKSPACE/archives/clamp-clone +cd $WORKSPACE/archives/clamp-clone +git clone --depth 1 http://gerrit.onap.org/r/clamp -b master +cd clamp/extra/docker/clamp/ + +# start Clamp and MariaDB containers with docker compose and configuration from clamp/extra/docker/clamp/docker-compose.yml +docker-compose up -d + +# WAIT 5 minutes maximum and test every 5 seconds if Clamp up using HealthCheck API +TIME_OUT=300 +INTERVAL=5 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8080/restservices/clds/v1/clds/healthcheck); echo $response + + if [ "$response" == "200" ]; then + echo Clamp and its database well started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if Clamp is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds + sleep $INTERVAL + TIME=$(($TIME+$INTERVAL)) +done + +if [ "$TIME" -ge "$TIME_OUT" ]; then + echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests... +fi + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +#ROBOT_VARIABLES="-v TEST:${TEST}" + diff --git a/test/csit/plans/clamp/TCA/teardown.sh b/test/csit/plans/clamp/TCA/teardown.sh new file mode 100755 index 000000000..810c2e40d --- /dev/null +++ b/test/csit/plans/clamp/TCA/teardown.sh @@ -0,0 +1,21 @@ +#!/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. +# + +kill-instance.sh clamp_clamp_1 +kill-instance.sh clamp_db_1 + +# $WORKSPACE/archives/clamp-clone deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/test/csit/plans/clamp/TCA/testplan.txt b/test/csit/plans/clamp/TCA/testplan.txt new file mode 100644 index 000000000..c0f569673 --- /dev/null +++ b/test/csit/plans/clamp/TCA/testplan.txt @@ -0,0 +1,4 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +clamp/TCA + diff --git a/test/csit/plans/clamp/UIs/setup.sh b/test/csit/plans/clamp/UIs/setup.sh new file mode 100755 index 000000000..6398827bc --- /dev/null +++ b/test/csit/plans/clamp/UIs/setup.sh @@ -0,0 +1,54 @@ +#!/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. +# +# Modifications copyright (c) 2017 AT&T Intellectual Property +# +# Place the scripts in run order: +source ${WORKSPACE}/test/csit/scripts/clamp/script1.sh + +# Clone Clamp repo to get extra folder that has all needed to run docker with docker-compose to start DB and Clamp +mkdir -p $WORKSPACE/archives/clamp-clone +cd $WORKSPACE/archives/clamp-clone +git clone --depth 1 http://gerrit.onap.org/r/clamp -b master +cd clamp/extra/docker/clamp/ + +# start Clamp and MariaDB containers with docker compose and configuration from clamp/extra/docker/clamp/docker-compose.yml +docker-compose up -d + +# WAIT 5 minutes maximum and test every 5 seconds if Clamp up using HealthCheck API +TIME_OUT=300 +INTERVAL=5 +TIME=0 +while [ "$TIME" -lt "$TIME_OUT" ]; do + response=$(curl --write-out '%{http_code}' --silent --output /dev/null http://localhost:8080/restservices/clds/v1/clds/healthcheck); echo $response + + if [ "$response" == "200" ]; then + echo Clamp and its database well started in $TIME seconds + break; + fi + + echo Sleep: $INTERVAL seconds before testing if Clamp is up. Total wait time up now is: $TIME seconds. Timeout is: $TIME_OUT seconds + sleep $INTERVAL + TIME=$(($TIME+$INTERVAL)) +done + +if [ "$TIME" -ge "$TIME_OUT" ]; then + echo TIME OUT: Docker containers not started in $TIME_OUT seconds... Could cause problems for tests... +fi + +# Pass any variables required by Robot test suites in ROBOT_VARIABLES +#ROBOT_VARIABLES="-v TEST:${TEST}" + diff --git a/test/csit/plans/clamp/UIs/teardown.sh b/test/csit/plans/clamp/UIs/teardown.sh new file mode 100755 index 000000000..810c2e40d --- /dev/null +++ b/test/csit/plans/clamp/UIs/teardown.sh @@ -0,0 +1,21 @@ +#!/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. +# + +kill-instance.sh clamp_clamp_1 +kill-instance.sh clamp_db_1 + +# $WORKSPACE/archives/clamp-clone deleted with archives folder when tests starts so we keep it at the end for debugging diff --git a/test/csit/plans/clamp/UIs/testplan.txt b/test/csit/plans/clamp/UIs/testplan.txt new file mode 100644 index 000000000..9ec5b9538 --- /dev/null +++ b/test/csit/plans/clamp/UIs/testplan.txt @@ -0,0 +1,4 @@ +# Test suites are relative paths under [integration.git]/test/csit/tests/. +# Place the suites in run order. +clamp/UIs + diff --git a/test/csit/scripts/clamp/script1.sh b/test/csit/scripts/clamp/script1.sh new file mode 100755 index 000000000..fd6610612 --- /dev/null +++ b/test/csit/scripts/clamp/script1.sh @@ -0,0 +1,17 @@ +#!/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 "This is ${WORKSPACE}/test/csit/scripts/clamp/script1.sh" diff --git a/test/csit/tests/clamp/TCA/__init__.robot b/test/csit/tests/clamp/TCA/__init__.robot new file mode 100644 index 000000000..5da0c75fa --- /dev/null +++ b/test/csit/tests/clamp/TCA/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Clamp - TCA diff --git a/test/csit/tests/clamp/TCA/data/createTemplate1.json b/test/csit/tests/clamp/TCA/data/createTemplate1.json new file mode 100644 index 000000000..0b08d5881 --- /dev/null +++ b/test/csit/tests/clamp/TCA/data/createTemplate1.json @@ -0,0 +1,7 @@ +{ + "name": "template1", + "controlNamePrefix": "ClosedLoop-", + "bpmnText": " SequenceFlow_0wokvsg SequenceFlow_0wokvsg SequenceFlow_0w8129u SequenceFlow_0w8129u SequenceFlow_0bdkahu SequenceFlow_0bdkahu SequenceFlow_039geog SequenceFlow_039geog ", + "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://135.207.127.211/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n MTCA:\\r\\n type: dcae.nodes.cdap_app\\r\\n properties:\\r\\n service_name: \\\"cdap-mtca-central\\\"\\r\\n deployment_JSON: |-\\r\\n {\\r\\n \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n \\\"namespace\\\": \\\"MTCA\\\",\\r\\n \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n \\\"serviceNames\\\" : [],\\r\\n \\\"apps\\\": {\\r\\n \\\"cdap-mtca\\\": {\\r\\n \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n \\\"version\\\": \\\"1.0.0\\\",\\r\\n \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n }\\r\\n },\\r\\n \\r\\n \\\"configuration\\\": {\\r\\n \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n \\\"subscriberContentType\\\": \\\"\\\",\\r\\n \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n \\r\\n \\\"signatures\\\" : {\\r\\n \\t }\\r\\n\\r\\n }\\r\\n }\"]}]}", + "imageText":"CollectorTCAPolicy" +} \ No newline at end of file diff --git a/test/csit/tests/clamp/TCA/data/createTemplate2.json b/test/csit/tests/clamp/TCA/data/createTemplate2.json new file mode 100644 index 000000000..84f7c06e9 --- /dev/null +++ b/test/csit/tests/clamp/TCA/data/createTemplate2.json @@ -0,0 +1,7 @@ +{ + "name": "template2", + "controlNamePrefix": "ClosedLoop-", + "bpmnText": " SequenceFlow_0wokvsg SequenceFlow_0wokvsg SequenceFlow_0w8129u SequenceFlow_0w8129u SequenceFlow_0bdkahu SequenceFlow_0bdkahu SequenceFlow_039geog SequenceFlow_039geog ", + "propText": "{\"global\":[{\"name\":\"service\",\"value\":[\"tosca_definitions_version: cloudify_dsl_1_2\\r\\n\\r\\nimports:\\r\\n- http://www.getcloudify.org/spec/cloudify/3.3.1/types.yaml\\r\\n- http://135.207.127.211/1607_prod/type_files/cdap_app.yaml\\r\\n\\r\\nnode_templates:\\r\\n MTCA:\\r\\n type: dcae.nodes.cdap_app\\r\\n properties:\\r\\n service_name: \\\"cdap-mtca-central\\\"\\r\\n deployment_JSON: |-\\r\\n {\\r\\n \\\"clusterService\\\": {\\\"$ref\\\": \\\"/services/vm-cdap-cluster-central/instances/rdm2c\\\"},\\r\\n \\\"namespace\\\": \\\"MTCA\\\",\\r\\n \\\"appNames\\\": [ \\\"cdap-mtca\\\" ],\\r\\n \\\"flowNames\\\": [ \\\"cdap-mtca.TCAVESCollectorFlow\\\" ],\\r\\n \\\"workerNames\\\": [\\\"cdap-mtca.TCADMaaPMRSubscriberWorker\\\", \\\"cdap-mtca.TCADMaaPMRPublisherWorker\\\"],\\r\\n \\\"serviceNames\\\" : [],\\r\\n \\\"apps\\\": {\\r\\n \\\"cdap-mtca\\\": {\\r\\n \\\"jarFile\\\": \\\"/opt/app/cdap-apps/dcae-analytics-mtca-1.0.0.jar\\\",\\r\\n \\\"artifactName\\\": \\\"dcae-analytics-mtca\\\",\\r\\n \\\"version\\\": \\\"1.0.0\\\",\\r\\n \\\"appConfigFileContent\\\": \\\"{config:{ \\\\\\\"appName\\\\\\\":\\\\\\\"cdap-mtca\\\\\\\", \\\\\\\"appDescription\\\\\\\":\\\\\\\"DCAE Analytics Threshold Crossing Alert Application\\\\\\\", \\\\\\\"tcaSubscriberOutputStreamName\\\\\\\":\\\\\\\"TCASubscriberOutputStream\\\\\\\", \\\\\\\"thresholdCalculatorFlowletInstances\\\\\\\":2, \\\\\\\"tcaVESMessageStatusTableName\\\\\\\":\\\\\\\"TCAVESMessageStatusTable\\\\\\\", \\\\\\\"tcaVESMessageStatusTableTTLSeconds\\\\\\\":864000, \\\\\\\"tcaVESAlertsTableName\\\\\\\":\\\\\\\"TCAVESAlertsTable\\\\\\\", \\\\\\\"tcaVESAlertsTableTTLSeconds\\\\\\\":1728000 }}\\\"\\r\\n }\\r\\n },\\r\\n \\r\\n \\\"configuration\\\": {\\r\\n \\\"$class\\\": \\\"com.att.ecomp.dcae.clamp.common.MThresholdCrossingConfiguration\\\",\\r\\n \\\"subscriberContentType\\\": \\\"\\\",\\r\\n \\\"subscriberConsumerId\\\": \\\"c12\\\",\\r\\n \\\"subscriberConsumerGroup\\\": \\\"OpenDCAE-c12\\\",\\r\\n \\\"subscriberTimeoutMS\\\": \\\"-1\\\",\\r\\n \\\"subscriberMessageLimit\\\": \\\"-1\\\",\\r\\n \\\"subscriberPollingInterval\\\": \\\"20000\\\",\\r\\n \\\"publisherContentType\\\": \\\"application/json\\\",\\r\\n \\\"publisherMaxBatchSize\\\": \\\"10\\\",\\r\\n \\\"publisherMaxRecoveryQueueSize\\\": \\\"100000\\\",\\r\\n \\\"publisherPollingInterval\\\": \\\"20000\\\",\\r\\n \\\"publisherAlertWindowingTime\\\": \\\"86400\\\",\\r\\n \\\"policyName\\\": \\\"policy.dcae.configuration\\\",\\r\\n \\\"policyScope\\\": \\\"pnf=eNodeB;type=configuration\\\",\\r\\n \\\"policyVersion\\\": \\\"1.0.0\\\",\\r\\n \\\"domain\\\" : \\\"measurementsForVfScaling\\\",\\r\\n \\r\\n \\\"signatures\\\" : {\\r\\n \\t }\\r\\n\\r\\n }\\r\\n }\"]}]}", + "imageText":"CollectorTCAPolicy" +} \ No newline at end of file diff --git a/test/csit/tests/clamp/TCA/test1.robot b/test/csit/tests/clamp/TCA/test1.robot new file mode 100644 index 000000000..e9b630f72 --- /dev/null +++ b/test/csit/tests/clamp/TCA/test1.robot @@ -0,0 +1,38 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json +Library HttpLibrary.HTTP + + +*** Test Cases *** +Get Requests health check ok + CreateSession clamp http://localhost:8080 + ${resp}= Get Request clamp /restservices/clds/v1/clds/healthcheck + Should Be Equal As Strings ${resp.status_code} 200 + +Put Requests to add template1 with yaml properties + ${auth}= Create List admin 5f4dcc3b5aa765d61d8327deb882cf99 + Create Session clamp http://localhost:8080 auth=${auth} + ${data}= Get Binary File ${CURDIR}${/}data${/}createTemplate1.json + &{headers}= Create Dictionary Content-Type=application/json + ${resp}= Put Request clamp /restservices/clds/v1/cldsTempate/template/template1 data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + +Put Requests to add template2 with yaml properties + ${auth}= Create List admin 5f4dcc3b5aa765d61d8327deb882cf99 + Create Session clamp http://localhost:8080 auth=${auth} + ${data}= Get Binary File ${CURDIR}${/}data${/}createTemplate2.json + &{headers}= Create Dictionary Content-Type=application/json + ${resp}= Put Request clamp /restservices/clds/v1/cldsTempate/template/template2 data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + +Get Requests verify template1 and template2 found + ${auth}= Create List admin 5f4dcc3b5aa765d61d8327deb882cf99 + Create Session clamp http://localhost:8080 auth=${auth} + ${resp}= Get Request clamp /restservices/clds/v1/cldsTempate/template-names + Should Be Equal As Strings ${resp.status_code} 200 + Should Contain Match ${resp} *template1* + Should Contain Match ${resp} *template2* + Should Not Contain Match ${resp} *template99* diff --git a/test/csit/tests/clamp/UIs/__init__.robot b/test/csit/tests/clamp/UIs/__init__.robot new file mode 100644 index 000000000..fc9f27343 --- /dev/null +++ b/test/csit/tests/clamp/UIs/__init__.robot @@ -0,0 +1,2 @@ +*** Settings *** +Documentation Clamp - UIs diff --git a/test/csit/tests/clamp/UIs/test1.robot b/test/csit/tests/clamp/UIs/test1.robot new file mode 100644 index 000000000..942715ce2 --- /dev/null +++ b/test/csit/tests/clamp/UIs/test1.robot @@ -0,0 +1,47 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json +Library HttpLibrary.HTTP +Library Selenium2Library +Library XvfbRobot + + +*** Test Cases *** +Get Requests health check ok + CreateSession clamp http://localhost:8080 + ${resp}= Get Request clamp /restservices/clds/v1/clds/healthcheck + Should Be Equal As Strings ${resp.status_code} 200 + +Open Browser +# Next line is to be enabled for Headless tests only (jenkins?). To see the tests desable the line. + Start Virtual Display 1920 1080 + Open Browser http://localhost:8080/designer/index.html browser=firefox + Set Window Size 1920 1080 + ${title}= Get Title + Should Be Equal CLDS ${title} + +Bad Login to Clamp UI and Verify not logged in + Input Text locator=username text=bad_login + Input Text locator=password text=This_is_bad_password + Press Key locator=password key=\\13 + Wait Until Element Is Visible locator=username timeout=5 + Page Should Not Contain Element xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=*Hello:admin* + +Good Login to Clamp UI and Verify logged in + Input Text locator=username text=admin + Input Text locator=password text=password + Press Key locator=password key=\\13 + Wait Until Element Is Visible xpath=//*[@class="navbar-brand logo_name ng-binding"] timeout=60 + Element Text Should Be xpath=//*[@class="navbar-brand logo_name ng-binding"] expected=Hello:admin + +Create Template from Menu + Click Element xpath=//*[@id="navbar"]/ul/li[1]/a + Wait Until Element Is Visible locator=Create Template timeout=60 + Click Element locator=Create Template + Input Text locator=modelName text=template1 + Click Button locator=OK + +Close Browser + Close Browser \ No newline at end of file -- cgit 1.2.3-korg