From: eh552t Date: Tue, 9 Apr 2019 15:12:03 +0000 (+0200) Subject: Reworked CSIT for Dublin part1 X-Git-Tag: 4.0.0-ONAP~71^2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=5f539dc25002074b22bb417efa0f6f5c43e089b6;p=integration%2Fcsit.git Reworked CSIT for Dublin part1 Change-Id: I3fd53deb61a8ba1c8f6bc68c60f2122e2e0cfb79 Signed-off-by: eh552t Issue-ID: CLAMP-276 --- diff --git a/scripts/clamp/clone_clamp_and_change_dockercompose.sh b/scripts/clamp/clone_clamp_and_change_dockercompose.sh index 4e3eb582..c807091e 100755 --- a/scripts/clamp/clone_clamp_and_change_dockercompose.sh +++ b/scripts/clamp/clone_clamp_and_change_dockercompose.sh @@ -41,5 +41,5 @@ sed -i '/image: onap\/clamp/c\ image: nexus3.onap.org:10001\/onap\/clamp' doc sed -i 's/}/,\"clamp.config.policy.pdpUrl1\":\"http:\/\/third_party_proxy:8085\/pdp\/ , testpdp, alpha123\",\"clamp.config.policy.pdpUrl2\":\"http:\/\/third_party_proxy:8085\/pdp\/ , testpdp, alpha123\",\"clamp.config.policy.papUrl\":\"http:\/\/third_party_proxy:8085\/pap\/ , testpap, alpha123\",\"clamp.config.policy.clientId\":\"python\",\"clamp.config.policy.clientKey\":\"dGVzdA==\",\"clamp.config.sdc.catalog.url\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/\",\"clamp.config.sdc.hostUrl\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.sdc.serviceUrl\":\"http:\/\/third_party_proxy:8085\/sdc\/v1\/catalog\/services\",\"clamp.config.dcae.inventory.url\":\"http:\/\/third_party_proxy:8085\",\"clamp.config.dcae.dispatcher.url\":\"http:\/\/third_party_proxy:8085\",\"spring.profiles.active\":\"clamp-default,clamp-default-user,clamp-sdc-controller\",\"server.ssl.client-auth\":\"want\"}/g' clamp.env # Add the sql to create template so it is played by docker-compose later -cp ../../../src/test/resources/sql/four_templates_only.sql ../../sql/bulkload/ -echo 'mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < four_templates_only.sql' >> ../../sql/load-sql-files-tests-automation.sh +cp ../../../src/test/resources/sql/loop-examples.sql ../../sql/bulkload/ +echo 'mysql -uroot -p$MYSQL_ROOT_PASSWORD -f < loop-examples.sql' >> ../../sql/load-sql-files-tests-automation.sh diff --git a/scripts/clamp/start_clamp_containers.sh b/scripts/clamp/start_clamp_containers.sh index 8da83405..443c9fa0 100755 --- a/scripts/clamp/start_clamp_containers.sh +++ b/scripts/clamp/start_clamp_containers.sh @@ -49,5 +49,5 @@ if [ "$TIME" -ge "$TIME_OUT" ]; then exit 1; fi -sleep 30 +sleep 20 diff --git a/tests/clamp/APIs/01__Test_CL_APIs.robot b/tests/clamp/APIs/01__Test_CL_APIs.robot new file mode 100644 index 00000000..1a874323 --- /dev/null +++ b/tests/clamp/APIs/01__Test_CL_APIs.robot @@ -0,0 +1,69 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json + +*** Variables *** +${login} admin +${passw} password + +*** Keywords *** +Create the sessions + ${auth}= Create List ${login} ${passw} + Create Session clamp https://localhost:8443 auth=${auth} disable_warnings=1 + Set Global Variable ${clamp_session} clamp + +*** Test Cases *** +Get Requests health check ok + Create the sessions + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck + Should Be Equal As Strings ${resp.status_code} 200 + +List TCAs + ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/getAllNames + Should Contain Match ${resp} *LOOP_iYTIP_v1_0_ResourceInstanceName1_tca* + Should Contain Match ${resp} *tca_2* + Should Contain Match ${resp} *LOOP_iYTIP_v1_0_ResourceInstanceName1_tca_3* + +Open TCA1 + ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_iYTIP_v1_0_ResourceInstanceName1_tca + Should Contain Match ${resp} *LOOP_iYTIP_v1_0_ResourceInstanceName1_tca* + Should Contain Match ${resp} *GENERATED_POLICY_ID_AT_SUBMIT* + Should Contain Match ${resp} *onap.policy.monitoring.cdap.tca.hi.lo.app* + Should Contain Match ${resp} *TCA Policy Scope* + +Open TCA2 + ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_iYTIP_v1_0_ResourceInstanceName2_tca_2 + Should Contain Match ${resp} *LOOP_iYTIP_v1_0_ResourceInstanceName2_tca_2* + Should Contain Match ${resp} *GENERATED_POLICY_ID_AT_SUBMIT* + Should Contain Match ${resp} *dmaap.onap-message-router* + Should Contain Match ${resp} *TCA Policy Scope* + +Open TCA3 + ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_iYTIP_v1_0_ResourceInstanceName1_tca_3 + Should Contain Match ${resp} *LOOP_iYTIP_v1_0_ResourceInstanceName1_tca* + Should Contain Match ${resp} *GENERATED_POLICY_ID_AT_SUBMIT* + Should Contain Match ${resp} *onap.policy.monitoring.cdap.tca.hi.lo.app* + Should Contain Match ${resp} *TCA Policy Scope Version* + +Modify MicroService Policy TCA1 + ${data}= Get Binary File ${CURDIR}${/}data${/}microservicePolicyTca1.json + &{headers}= Create Dictionary Content-Type=application/json + ${resp}= POST Request ${clamp_session} /restservices/clds/v2/loop/updateMicroservicePolicy/LOOP_iYTIP_v1_0_ResourceInstanceName1_tca data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + +Verify Modification MicroService TCA1 + ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_iYTIP_v1_0_ResourceInstanceName1_tca + Should Contain Match ${resp} *version1.11* + +Modify Operational Policy TCA1 + ${data}= Get Binary File ${CURDIR}${/}data${/}operationalPolicyTca1.json + &{headers}= Create Dictionary Content-Type=application/json + ${resp}= POST Request ${clamp_session} /restservices/clds/v2/loop/updateOperationalPolicies/LOOP_iYTIP_v1_0_ResourceInstanceName1_tca data=${data} headers=${headers} + Should Be Equal As Strings ${resp.status_code} 200 + +Verify Modification Operational TCA1 + ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_iYTIP_v1_0_ResourceInstanceName1_tca + Should Contain Match ${resp} *Test_Field* + diff --git a/tests/clamp/APIs/data/createClHolmes1.json b/tests/clamp/APIs/data/createClHolmes1.json deleted file mode 100644 index 696145b8..00000000 --- a/tests/clamp/APIs/data/createClHolmes1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name":"ClHolmes1", - "controlNamePrefix":"ClosedLoop-", - "bpmnText":"", - "propText":"{\"global\":[{\"name\":\"service\",\"value\":[\"4cc5b45a-1f63-4194-8100-cd8e14248c92\"]},{\"name\":\"vf\",\"value\":[\"07e266fc-49ab-4cd7-8378-ca4676f1b9ec\"]},{\"name\":\"actionSet\",\"value\":[\"vnfRecipe\"]},{\"name\":\"location\",\"value\":[\"DC1\",\"DC2\"]}],\"Holmes_1gxp0mm\":[{\"name\":\"correlationalLogic\",\"value\":\"correlational logic1\"},{\"name\":\"configPolicyName\",\"value\":\"Config Policy name1\"}],\"Policy_136qatf\":{\"Policy1\":[{\"name\":\"pname\",\"value\":\"Policy1\"},{\"name\":\"pid\",\"value\":\"0\"},{\"name\":\"timeout\",\"value\":\"345\"},{\"policyConfigurations\":[[{\"name\":\"recipe\",\"value\":[\"Restart\"]},{\"name\":\"maxRetries\",\"value\":[\"3\"]},{\"name\":\"retryTimeLimit\",\"value\":[\"180\"]},{\"name\":\"_id\",\"value\":[\"QxHBjiW\"]},{\"name\":\"parentPolicy\",\"value\":[\"\"]},{\"name\":\"targetResourceId\",\"value\":[\"\"]}]]}]}}", - "imageText":"VESVesCollectorHHolmesPolicy", - "templateName":"templateHolmes1", - "typeId":null, - "deploymentId":null -} \ No newline at end of file diff --git a/tests/clamp/APIs/data/createClHolmes2.json b/tests/clamp/APIs/data/createClHolmes2.json deleted file mode 100644 index 69055895..00000000 --- a/tests/clamp/APIs/data/createClHolmes2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name":"ClHolmes2", - "controlNamePrefix":"ClosedLoop-", - "bpmnText":"", - "propText":"{\"Holmes_0bsv00m\":[{\"name\":\"correlationalLogic\",\"value\":\"correlation logic2\"},{\"name\":\"configPolicyName\",\"value\":\"Config Policy Name2\"}],\"global\":[{\"name\":\"service\",\"value\":[\"c95b0e7c-c1f0-4287-9928-7964c5377a46\"]},{\"name\":\"vf\",\"value\":[\"48504e0e-f3d3-411d-a52b-eda1b8fec073\"]},{\"name\":\"actionSet\",\"value\":[\"vnfRecipe\"]},{\"name\":\"location\",\"value\":[\"DC2\",\"DC3\"]}],\"Policy_114xo8j\":{\"Policy2\":[{\"name\":\"pname\",\"value\":\"Policy2\"},{\"name\":\"pid\",\"value\":\"0\"},{\"name\":\"timeout\",\"value\":\"345\"},{\"policyConfigurations\":[[{\"name\":\"recipe\",\"value\":[\"migrate\"]},{\"name\":\"maxRetries\",\"value\":[\"3\"]},{\"name\":\"retryTimeLimit\",\"value\":[\"360\"]},{\"name\":\"_id\",\"value\":[\"dHQXiOz\"]},{\"name\":\"parentPolicy\",\"value\":[\"\"]},{\"name\":\"targetResourceId\",\"value\":[\"\"]}]]}]}}", - "imageText":"HHolmesVESVesCollectorPolicy", - "templateName":"templateHolmes2", - "typeId":null, - "deploymentId":null -} \ No newline at end of file diff --git a/tests/clamp/APIs/data/createClTCA1.json b/tests/clamp/APIs/data/createClTCA1.json deleted file mode 100644 index 509288b5..00000000 --- a/tests/clamp/APIs/data/createClTCA1.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name":"ClTCA1", - "controlNamePrefix":"ClosedLoop-", - "bpmnText":"", - "propText":"{\"global\":[{\"name\":\"service\",\"value\":[\"4cc5b45a-1f63-4194-8100-cd8e14248c92\"]},{\"name\":\"vf\",\"value\":[\"023a3f0d-1161-45ff-b4cf-8918a8ccf3ad\"]},{\"name\":\"actionSet\",\"value\":[\"enbRecipe\"]},{\"name\":\"location\",\"value\":[\"DC1\",\"DC2\"]}],\"TCA_1d13unw\":{\"TCA1\":[{\"name\":\"tname\",\"value\":\"TCA1\"},{\"name\":\"tuuid\",\"value\":\"ce57408b-93ba-td02-1622-165abd6c5ff5\"},{\"name\":\"tcaPol\",\"value\":\"Policy3\"},{\"name\":\"eventName\",\"value\":\"vLoadBalancer\"},{\"name\":\"controlLoopSchemaType\",\"value\":\"VNF\"},{\"name\":\"tcaPolId\",\"value\":\"0\"},{\"serviceConfigurations\":[[\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\"GREATER\",\"5\",\"ONSET\"]]}]},\"Policy_12lup3h\":{\"Policy3\":[{\"name\":\"pname\",\"value\":\"Policy3\"},{\"name\":\"pid\",\"value\":\"0\"},{\"name\":\"timeout\",\"value\":\"345\"},{\"policyConfigurations\":[[{\"name\":\"recipe\",\"value\":[\"reset\"]},{\"name\":\"maxRetries\",\"value\":[\"3\"]},{\"name\":\"retryTimeLimit\",\"value\":[\"200\"]},{\"name\":\"_id\",\"value\":[\"lecrG3I\"]},{\"name\":\"parentPolicy\",\"value\":[\"\"]},{\"name\":\"targetResourceId\",\"value\":[\"\"]}]]}]}}", - "imageText":"VESVesCollectorTCAPolicy", - "templateName":"templateTCA1", - "typeId":null, - "deploymentId":null -} \ No newline at end of file diff --git a/tests/clamp/APIs/data/createClTCA2.json b/tests/clamp/APIs/data/createClTCA2.json deleted file mode 100644 index 5754a8e2..00000000 --- a/tests/clamp/APIs/data/createClTCA2.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name":"ClTCA2", - "controlNamePrefix":"ClosedLoop-", - "bpmnText":"", - "propText":"{\"Policy_1r0guma\":{\"Policy4\":[{\"name\":\"pname\",\"value\":\"Policy4\"},{\"name\":\"pid\",\"value\":\"0\"},{\"name\":\"timeout\",\"value\":\"345\"},{\"policyConfigurations\":[[{\"name\":\"recipe\",\"value\":[\"reset\"]},{\"name\":\"maxRetries\",\"value\":[\"3\"]},{\"name\":\"retryTimeLimit\",\"value\":[\"300\"]},{\"name\":\"_id\",\"value\":[\"JoL9ecT\"]},{\"name\":\"parentPolicy\",\"value\":[\"\"]},{\"name\":\"targetResourceId\",\"value\":[\"\"]}]]}]},\"global\":[{\"name\":\"service\",\"value\":[\"4cc5b45a-1f63-4194-8100-cd8e14248c92\"]},{\"name\":\"vf\",\"value\":[\"023a3f0d-1161-45ff-b4cf-8918a8ccf3ad\"]},{\"name\":\"actionSet\",\"value\":[\"enbRecipe\"]},{\"name\":\"location\",\"value\":[\"DC1\",\"DC2\",\"DC3\"]}],\"TCA_09syovq\":{\"TCA2\":[{\"name\":\"tname\",\"value\":\"TCA2\"},{\"name\":\"tuuid\",\"value\":\"3794f32d-8d95-tf61-444b-0b374cc173b2\"},{\"name\":\"tcaPol\",\"value\":\"Policy4\"},{\"name\":\"eventName\",\"value\":\"vLoadBalancer\"},{\"name\":\"controlLoopSchemaType\",\"value\":\"VM\"},{\"name\":\"tcaPolId\",\"value\":\"0\"},{\"serviceConfigurations\":[[\"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta\",\"GREATER\",\"15\",\"ONSET\",\"undefined\"]]}]}}", - "imageText":"VESVesCollectorTCAPolicy", - "templateName":"templateTCA2", - "typeId":null, - "deploymentId":null -} \ No newline at end of file diff --git a/tests/clamp/APIs/data/microservicePolicyTca1.json b/tests/clamp/APIs/data/microservicePolicyTca1.json new file mode 100644 index 00000000..f4e373e4 --- /dev/null +++ b/tests/clamp/APIs/data/microservicePolicyTca1.json @@ -0,0 +1,208 @@ +{ + "name": "TCA_iYTIP_v1_0_ResourceInstanceName1_tca", + "modelType": "onap.policy.monitoring.cdap.tca.hi.lo.app", + "properties": { + "domain": "measurementsForVfScaling", + "metricsPerEventName": [{ + "policyVersion": "version1.11", + "thresholds": [], + "policyName": "Scope1", + "controlLoopSchemaType": "VNF", + "policyScope": "Policyscope1", + "eventName": "Event1" + }] + }, + "shared": false, + "jsonRepresentation": { + "schema": { + "uniqueItems": "true", + "format": "tabs-top", + "type": "array", + "title": "TCA Policy JSON", + "items": { + "type": "object", + "title": "TCA Policy JSON", + "required": [ + "domain", + "metricsPerEventName" + ], + "properties": { + "domain": { + "propertyOrder": 1001, + "default": "measurementsForVfScaling", + "title": "Domain name to which TCA needs to be applied", + "type": "string" + }, + "metricsPerEventName": { + "propertyOrder": 1002, + "uniqueItems": "true", + "format": "tabs-top", + "title": "Contains eventName and threshold details that need to be applied to given eventName", + "type": "array", + "items": { + "type": "object", + "required": [ + "controlLoopSchemaType", + "eventName", + "policyName", + "policyScope", + "policyVersion", + "thresholds" + ], + "properties": { + "policyVersion": { + "propertyOrder": 1007, + "title": "TCA Policy Scope Version", + "type": "string" + }, + "thresholds": { + "propertyOrder": 1008, + "uniqueItems": "true", + "format": "tabs-top", + "title": "Thresholds associated with eventName", + "type": "array", + "items": { + "type": "object", + "required": [ + "closedLoopControlName", + "closedLoopEventStatus", + "direction", + "fieldPath", + "severity", + "thresholdValue", + "version" + ], + "properties": { + "severity": { + "propertyOrder": 1013, + "title": "Threshold Event Severity", + "type": "string", + "enum": [ + "CRITICAL", + "MAJOR", + "MINOR", + "WARNING", + "NORMAL" + ] + }, + "fieldPath": { + "propertyOrder": 1012, + "title": "Json field Path as per CEF message which needs to be analyzed for TCA", + "type": "string", + "enum": [ + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated", + "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait", + "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage", + "$.event.measurementsForVfScalingFields.meanRequestLatency", + "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered", + "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached", + "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured", + "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree", + "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed", + "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value" + ] + }, + "thresholdValue": { + "propertyOrder": 1014, + "title": "Threshold value for the field Path inside CEF message", + "type": "integer" + }, + "closedLoopEventStatus": { + "propertyOrder": 1010, + "title": "Closed Loop Event Status of the threshold", + "type": "string", + "enum": [ + "ONSET", + "ABATED" + ] + }, + "closedLoopControlName": { + "propertyOrder": 1009, + "title": "Closed Loop Control Name associated with the threshold", + "type": "string" + }, + "version": { + "propertyOrder": 1015, + "title": "Version number associated with the threshold", + "type": "string" + }, + "direction": { + "propertyOrder": 1011, + "title": "Direction of the threshold", + "type": "string", + "enum": [ + "LESS", + "LESS_OR_EQUAL", + "GREATER", + "GREATER_OR_EQUAL", + "EQUAL" + ] + } + } + } + }, + "policyName": { + "propertyOrder": 1005, + "title": "TCA Policy Scope Name", + "type": "string" + }, + "controlLoopSchemaType": { + "propertyOrder": 1003, + "title": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM", + "type": "string", + "enum": [ + "VM", + "VNF" + ] + }, + "policyScope": { + "propertyOrder": 1006, + "title": "TCA Policy Scope", + "type": "string" + }, + "eventName": { + "propertyOrder": 1004, + "title": "Event name to which thresholds need to be applied", + "type": "string" + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/tests/clamp/APIs/data/operationalPolicyTca1.json b/tests/clamp/APIs/data/operationalPolicyTca1.json new file mode 100644 index 00000000..71a14493 --- /dev/null +++ b/tests/clamp/APIs/data/operationalPolicyTca1.json @@ -0,0 +1,6 @@ +[{ + "name": "OPERATIONAL_iYTIP_v1_0_ResourceInstanceName1_tca", + "configurationsJson": { + "testField": "Test_Field" + } +}] \ No newline at end of file diff --git a/tests/clamp/UIs/01__Open_And_Edit_TCA.robot b/tests/clamp/UIs/01__Open_And_Edit_TCA.robot new file mode 100644 index 00000000..c0070c77 --- /dev/null +++ b/tests/clamp/UIs/01__Open_And_Edit_TCA.robot @@ -0,0 +1,67 @@ +*** Settings *** +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json +Library ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py +Library XvfbRobot + +*** Variables *** +${login} admin +${passw} password +${SELENIUM_SPEED_FAST} .2 seconds +${SELENIUM_SPEED_SLOW} .5 seconds +${BASE_URL} https://localhost:8443 + +*** Keywords *** +Create the sessions + ${auth}= Create List ${login} ${passw} + Create Session clamp ${BASE_URL} auth=${auth} disable_warnings=1 + Set Global Variable ${clamp_session} clamp + +*** Test Cases *** +Get Requests health check ok + Create the sessions + ${resp}= Get Request ${clamp_session} /restservices/clds/v1/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 disable the line. + Start Virtual Display 1920 1080 + Set Selenium Speed ${SELENIUM_SPEED_SLOW} + Open Browser ${BASE_URL}/designer/index.html browser=firefox + +Reply to authentication popup + Run Keyword And Ignore Error Insert into prompt ${login} ${passw} + Confirm action + +Good Login to Clamp UI and Verify logged in + Set Window Size 1920 1080 + ${title}= Get Title + Should Be Equal CLDS ${title} + 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 + +Open TCA1 from Menu + Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[1]/a timeout=60 + Click Element xpath=//*[@id="navbar"]/ul/li[1]/a + Wait Until Element Is Visible locator=Open CL timeout=60 + Click Element locator=Open CL + Select From List By Label id=modelName LOOP_iYTIP_v1_0_ResourceInstanceName1_tca + Click Button locator=OK + +Set Properties for HolmesModel1 + Wait Until Element Is Visible xpath=//*[@data-element-id="TCA_iYTIP_v1_0_ResourceInstanceName1_tca"] timeout=60 + Click Element xpath=//*[@data-element-id="TCA_iYTIP_v1_0_ResourceInstanceName1_tca"] + Wait Until Element Is Visible xpath=//*[@id="editor"]/div/h3/div[2]/button[1] timeout=60 + Click Element xpath=//*[@id="editor"]/div/h3/div[2]/button[1] + Wait Until Element Is Visible xpath=//*[@id="root.0"]/div[2]/div/div/div[2]/div/h3/div[2]/button[1]/span timeout=60 + Click Element xpath=//*[@id="root.0"]/div[2]/div/div/div[2]/div/h3/div[2]/button[1]/span + Input Text xpath=//*[@name="root[0][metricsPerEventName][0][eventName]"] text=Event1 + Input Text xpath=//*[@name="root[0][metricsPerEventName][0][policyName]"] text=PolicyScope1 + Input Text xpath=//*[@name="root[0][metricsPerEventName][0][policyScope]"] text=TCAPolicyScope1 + Input Text xpath=//*[@name="root[0][metricsPerEventName][0][policyVersion]"] text=1.2.3 + Click Button locator=Done + +Close Browser + Close Browser diff --git a/tests/clamp/APIs/01__Create_CL_Holmes.robot b/tests/clamp/UIs/02__Verify_Modification_In_UI.robot similarity index 64% rename from tests/clamp/APIs/01__Create_CL_Holmes.robot rename to tests/clamp/UIs/02__Verify_Modification_In_UI.robot index be63f22f..979547c6 100644 --- a/tests/clamp/APIs/01__Create_CL_Holmes.robot +++ b/tests/clamp/UIs/02__Verify_Modification_In_UI.robot @@ -19,3 +19,10 @@ Get Requests health check ok Create the sessions ${resp}= Get Request ${clamp_session} /restservices/clds/v1/healthcheck Should Be Equal As Strings ${resp.status_code} 200 + +Open TCA1 + ${resp}= Get Request ${clamp_session} /restservices/clds/v2/loop/LOOP_iYTIP_v1_0_ResourceInstanceName1_tca + Should Contain Match ${resp} *LOOP_iYTIP_v1_0_ResourceInstanceName1_tca* + Should Contain Match ${resp} *Event1* + Should Contain Match ${resp} *1.2.3* + Should Contain Match ${resp} *PolicyScope1* diff --git a/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot b/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot deleted file mode 100644 index b582fad9..00000000 --- a/tests/clamp/UIs/04__Submit_deploy_chain_Holmes.robot +++ /dev/null @@ -1,138 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json -Library ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py -Library XvfbRobot - -*** Variables *** -${login} admin -${passw} password -${SELENIUM_SPEED_FAST} .2 seconds -${SELENIUM_SPEED_SLOW} .5 seconds -${BASE_URL} https://localhost:8443 - -*** Keywords *** -Create the sessions - ${auth}= Create List ${login} ${passw} - Create Session clamp ${BASE_URL} auth=${auth} disable_warnings=1 - Set Global Variable ${clamp_session} clamp - -*** Test Cases *** -Get Requests health check ok - Create the sessions - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/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 disable the line. - Start Virtual Display 1920 1080 - Set Selenium Speed ${SELENIUM_SPEED_SLOW} - Open Browser ${BASE_URL}/designer/index.html browser=firefox - -Reply to authentication popup - Run Keyword And Ignore Error Insert into prompt ${login} ${passw} - Confirm action - -Good Login to Clamp UI and Verify logged in - Set Window Size 1920 1080 - ${title}= Get Title - Should Be Equal CLDS ${title} - 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 - -#Open Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[1]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[1]/a -# Wait Until Element Is Visible locator=Open CL timeout=60 -# Click Element locator=Open CL -# Select From List By Label id=modelName HolmesModel1 -# Click Button locator=OK -# Element Should Contain xpath=//*[@id="modeler_name"] Closed Loop Modeler - HolmesModel1 -# Element Should Contain xpath=//*[@id="status_clds"] DESIGN -# -#Validate-Test Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Validation Test timeout=60 -# Click Element locator=Validation Test -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: test -# Element Should Contain xpath=//*[@id="status_clds"] DESIGN -# -#Submit Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Submit timeout=60 -# Click Element locator=Submit -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: submit -# Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED -# -#Resubmit Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Resubmit timeout=60 -# Click Element locator=Resubmit -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: resubmit -# Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED -# -#Deploy Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Deploy timeout=60 -# Click Element locator=Deploy -## Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60 -## Input Text xpath=//*[@id="deployProperties"] text={} -# Click Button locator=Deploy -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: deploy -# Element Should Contain xpath=//*[@id="status_clds"] ACTIVE -# -#Update Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Update timeout=60 -# Click Element locator=Update -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: update -# Element Should Contain xpath=//*[@id="status_clds"] ACTIVE -# -#Stop Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Stop timeout=60 -# Click Element locator=Stop -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: stop -# Element Should Contain xpath=//*[@id="status_clds"] STOPPED -# -#Restart Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Restart timeout=60 -# Click Element locator=Restart -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: restart -# Element Should Contain xpath=//*[@id="status_clds"] ACTIVE -# -#UnDeploy Holmes CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=UnDeploy timeout=60 -# Click Element locator=UnDeploy -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: undeploy -# Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED - -Close Browser - Close Browser diff --git a/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot b/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot deleted file mode 100644 index 7bcada12..00000000 --- a/tests/clamp/UIs/05__Submit_deploy_chain_TCA.robot +++ /dev/null @@ -1,131 +0,0 @@ -*** Settings *** -Library Collections -Library RequestsLibrary -Library OperatingSystem -Library json -Library ../../../scripts/clamp/python-lib/CustomSeleniumLibrary.py -Library XvfbRobot - -*** Variables *** -${login} admin -${passw} password -${SELENIUM_SPEED_FAST} .2 seconds -${SELENIUM_SPEED_SLOW} .5 seconds -${BASE_URL} https://localhost:8443 - -*** Test Cases *** -Get Requests health check ok - ${resp}= Get Request ${clamp_session} /restservices/clds/v1/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 disable the line. - Start Virtual Display 1920 1080 - Set Selenium Speed ${SELENIUM_SPEED_SLOW} - Open Browser ${BASE_URL}/designer/index.html browser=firefox - -Reply to authentication popup - Run Keyword And Ignore Error Insert into prompt ${login} ${passw} - Confirm action - -Good Login to Clamp UI and Verify logged in - Set Window Size 1920 1080 - ${title}= Get Title - Should Be Equal CLDS ${title} - 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 - -#Open TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[1]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[1]/a -# Wait Until Element Is Visible locator=Open CL timeout=60 -# Click Element locator=Open CL -# Select From List By Label id=modelName TCAModel1 -# Click Button locator=OK -# Element Should Contain xpath=//*[@id="modeler_name"] Closed Loop Modeler - TCAModel1 -# Element Should Contain xpath=//*[@id="status_clds"] DESIGN -# -#Validate-Test TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Validation Test timeout=60 -# Click Element locator=Validation Test -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: test -# Element Should Contain xpath=//*[@id="status_clds"] DESIGN -# -#Submit TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Submit timeout=60 -# Click Element locator=Submit -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: submit -# Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED -# -#Resubmit TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Resubmit timeout=60 -# Click Element locator=Resubmit -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: resubmit -# Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED -# -#Deploy TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Deploy timeout=60 -# Click Element locator=Deploy -## Wait Until Element Is Visible xpath=//*[@id="deployProperties"] timeout=60 -## Input Text xpath=//*[@id="deployProperties"] text={} -# Click Button locator=Deploy -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: deploy -# Element Should Contain xpath=//*[@id="status_clds"] ACTIVE -# -#Update TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Update timeout=60 -# Click Element locator=Update -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: update -# Element Should Contain xpath=//*[@id="status_clds"] ACTIVE -# -#Stop TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Stop timeout=60 -# Click Element locator=Stop -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: stop -# Element Should Contain xpath=//*[@id="status_clds"] STOPPED -# -#Restart TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=Restart timeout=60 -# Click Element locator=Restart -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: restart -# Element Should Contain xpath=//*[@id="status_clds"] ACTIVE -# -#UnDeploy TCA CL -# Wait Until Element Is Visible xpath=//*[@id="navbar"]/ul/li[2]/a timeout=60 -# Click Element xpath=//*[@id="navbar"]/ul/li[2]/a -# Wait Until Element Is Visible locator=UnDeploy timeout=60 -# Click Element locator=UnDeploy -# Click Button locator=Yes -# Wait Until Element Is Visible xpath=//*[@id="alert_message_"] timeout=60 -# Element Text Should Be xpath=//*[@id="alert_message_"] expected=Action Successful: undeploy -# Element Should Contain xpath=//*[@id="status_clds"] DISTRIBUTED - -Close Browser - Close Browser diff --git a/tests/clamp/UIs/data/TCA_template_properties.yml b/tests/clamp/UIs/data/TCA_template_properties.yml deleted file mode 100644 index 101dc2c0..00000000 --- a/tests/clamp/UIs/data/TCA_template_properties.yml +++ /dev/null @@ -1,82 +0,0 @@ -tosca_definitions_version: cloudify_dsl_1_3 -imports: -- http://www.getcloudify.org/spec/cloudify/3.4/types.yaml -- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/docker/2.2.0/node-type.yaml -- https://onap.org:8443/repository/solutioning01-mte2-raw/type_files/relationship/1.0.0/node-type.yaml -- http://onap.org:8081/repository/solutioning01-mte2-raw/type_files/dmaap/dmaap_mr.yaml -inputs: - location_id: - type: string - service_id: - type: string -node_templates: - cdap_host_host: - type: dcae.nodes.StreamingAnalytics.SelectedCDAPInfrastructure - properties: - location_id: - get_input: location_id - scn_override: cdap_broker.solutioning-central.dcae.onap.org - interfaces: - cloudify.interfaces.lifecycle: { - } - tca_tca: - type: dcae.nodes.MicroService.cdap - properties: - app_config: - appDescription: DCAE Analytics Threshold Crossing Alert Application - appName: dcae-tca - tcaSubscriberOutputStreamName: TCASubscriberOutputStream - tcaVESAlertsTableName: TCAVESAlertsTable - tcaVESAlertsTableTTLSeconds: '1728000' - tcaVESMessageStatusTableName: TCAVESMessageStatusTable - tcaVESMessageStatusTableTTLSeconds: '86400' - thresholdCalculatorFlowletInstances: '2' - app_preferences: - publisherContentType: application/json - publisherHostName: mrlocal-mtnjftle01.onap.org - publisherHostPort: '3905' - publisherMaxBatchSize: '10' - publisherMaxRecoveryQueueSize: '100000' - publisherPollingInterval: '20000' - publisherProtocol: https - publisherTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESPub - publisherUserName: m00502@tca.af.dcae.onap.org - publisherUserPassword: Te5021abc - subscriberConsumerGroup: OpenDCAE-c12 - subscriberConsumerId: c12 - subscriberContentType: application/json - subscriberHostName: mrlocal-mtnjftle01.onap.org - subscriberHostPort: '3905' - subscriberMessageLimit: '-1' - subscriberPollingInterval: '20000' - subscriberProtocol: https - subscriberTimeoutMS: '-1' - subscriberTopicName: org.onap.dcae.dmaap.mtnje2.DcaeTestVESSub - subscriberUserName: m00502@tca.af.dcae.onap.org - subscriberUserPassword: Te5021abc - tca_policy: null - artifact_name: dcae-analytics-tca - artifact_version: 1.0.0 - connections: - streams_publishes: [ - ] - streams_subscribes: [ - ] - jar_url: http://somejar - location_id: - get_input: location_id - namespace: cdap_tca_hi_lo - programs: - - program_id: TCAVESCollectorFlow - program_type: flows - - program_id: TCADMaaPMRSubscriberWorker - program_type: workers - - program_id: TCADMaaPMRPublisherWorker - program_type: workers - service_component_type: cdap_app_tca - service_id: - get_input: service_id - streamname: TCASubscriberOutputStream - relationships: - - target: cdap_host_host - type: dcae.relationships.component_contained_in \ No newline at end of file