diff options
Diffstat (limited to 'helm/tests')
-rw-r--r-- | helm/tests/apex-pdp-test.robot | 26 | ||||
-rw-r--r-- | helm/tests/common-library.robot | 4 | ||||
-rwxr-xr-x | helm/tests/data/make_topic.sh | 33 | ||||
-rwxr-xr-x | helm/tests/data/wait_topic.sh | 61 | ||||
-rw-r--r-- | helm/tests/pap-test.robot | 2 |
5 files changed, 110 insertions, 16 deletions
diff --git a/helm/tests/apex-pdp-test.robot b/helm/tests/apex-pdp-test.robot index c1946875..641b94e7 100644 --- a/helm/tests/apex-pdp-test.robot +++ b/helm/tests/apex-pdp-test.robot @@ -18,7 +18,7 @@ Healthcheck ExecuteApexSampleDomainPolicy Set Test Variable ${policyName} onap.policies.native.apex.Sampledomain - ${postjson}= Get file ${CURDIR}/data/${policyName}.json + ${postjson}= Get file ./data/${policyName}.json CreatePolicy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies 200 ${postjson} ${policyName} 1.0.0 Wait Until Keyword Succeeds 3 min 5 sec VerifyPdpStatistics 0 0 0 0 DeployPolicy @@ -29,33 +29,33 @@ ExecuteApexSampleDomainPolicy ExecuteApexTestPnfPolicy Set Test Variable ${policyName} onap.policies.apex.pnf.Test - ${postjson}= Get file ${CURDIR}/data/${policyName}.json + ${postjson}= Get file ./data/${policyName}.json CreatePolicy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies 200 ${postjson} ${policyName} 1.0.0 DeployPolicy Wait Until Keyword Succeeds 2 min 5 sec QueryPolicyStatus ${policyName} defaultGroup apex ${pdpName} onap.policies.native.Apex - ${result}= Run Process ${SCRIPTS}/make_topic.sh APEX-CL-MGT + ${result}= Run Process ./data/make_topic.sh APEX-CL-MGT Should Be Equal As Integers ${result.rc} 0 Wait Until Keyword Succeeds 2 min 5 sec TriggerAndVerifyTestPnfPolicy ExecuteApexTestVnfPolicy Set Test Variable ${policyName} onap.policies.apex.vnf.Test - ${postjson}= Get file ${CURDIR}/data/${policyName}.json + ${postjson}= Get file ./data/${policyName}.json CreatePolicy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies 200 ${postjson} ${policyName} 1.0.0 DeployPolicy Wait Until Keyword Succeeds 2 min 5 sec QueryPolicyStatus ${policyName} defaultGroup apex ${pdpName} onap.policies.native.Apex - ${result}= Run Process ${SCRIPTS}/make_topic.sh APEX-CL-MGT + ${result}= Run Process ./data/make_topic.sh APEX-CL-MGT Should Be Equal As Integers ${result.rc} 0 Wait Until Keyword Succeeds 2 min 5 sec TriggerAndVerifyTestVnfPolicy ExecuteApexTestPnfPolicyWithMetadataSet Set Test Variable ${policyName} onap.policies.apex.pnf.metadataSet.Test - ${postjson}= Get file ${CURDIR}/data/${policyName}.json + ${postjson}= Get file ./data/${policyName}.json CreatePolicy /policy/api/v1/policytypes/onap.policies.native.Apex/versions/1.0.0/policies 200 ${postjson} ${policyName} 1.0.0 - ${postjson}= Get file ${CURDIR}/data/onap.pnf.metadataSet.Test.json + ${postjson}= Get file ./data/onap.pnf.metadataSet.Test.json CreateNodeTemplate /policy/api/v1/nodetemplates 200 ${postjson} 1 DeployPolicy Wait Until Keyword Succeeds 2 min 5 sec QueryPolicyStatus ${policyName} defaultGroup apex ${pdpName} onap.policies.native.Apex - ${result}= Run Process ${SCRIPTS}/make_topic.sh APEX-CL-MGT2 + ${result}= Run Process ./data/make_topic.sh APEX-CL-MGT2 Should Be Equal As Integers ${result.rc} 0 Wait Until Keyword Succeeds 2 min 5 sec TriggerAndVerifyTestPnfPolicy @@ -83,7 +83,7 @@ Metrics DeployPolicy [Documentation] Deploy the policy in apex-pdp engine - ${postjson}= Get file ${CURDIR}/data/policy_deploy.json + ${postjson}= Get file ./data/policy_deploy.json ${postjson}= evaluate json.loads('''${postjson}''') json set to dictionary ${postjson['groups'][0]['deploymentSubgroups'][0]['policies'][0]} name=${policyName} ${postjson}= evaluate json.dumps(${postjson}) json @@ -93,7 +93,7 @@ DeployPolicy RunEventOnApexEngine [Documentation] Send event to verify policy execution Create Session apexSession http://${APEX_IP}:23324 max_retries=1 - ${data}= Get Binary File ${CURDIR}${/}data${/}event.json + ${data}= Get Binary File ./data/event.json &{headers}= Create Dictionary Content-Type=application/json Accept=application/json ${resp}= PUT On Session apexSession /apex/FirstConsumer/EventIn data=${data} headers=${headers} Should Be Equal As Strings ${resp.status_code} 200 @@ -101,7 +101,7 @@ RunEventOnApexEngine TriggerAndVerifyTestPnfPolicy [Documentation] Send TestPnf policy trigger event to DMaaP and read notifications to verify policy execution Create Session apexSession http://${DMAAP_IP}:3904 max_retries=1 - ${data}= Get Binary File ${CURDIR}/data/VesEventForPnfPolicy.json + ${data}= Get Binary File ./data/VesEventForPnfPolicy.json &{headers}= Create Dictionary Content-Type=application/json Accept=application/json ${resp}= POST On Session apexSession /events/unauthenticated.DCAE_CL_OUTPUT data=${data} headers=${headers} Should Be Equal As Strings ${resp.status_code} 200 @@ -112,7 +112,7 @@ TriggerAndVerifyTestPnfPolicy TriggerAndVerifyTestVnfPolicy [Documentation] Send TestVnf policy trigger event to DMaaP and read notifications to verify policy execution Create Session apexSession http://${DMAAP_IP}:3904 max_retries=1 - ${data}= Get Binary File ${CURDIR}/data/VesEventForVnfPolicy.json + ${data}= Get Binary File ./data/VesEventForVnfPolicy.json &{headers}= Create Dictionary Content-Type=application/json Accept=application/json ${resp}= POST On Session apexSession /events/unauthenticated.DCAE_POLICY_EXAMPLE_OUTPUT data=${data} headers=${headers} Should Be Equal As Strings ${resp.status_code} 200 @@ -124,7 +124,7 @@ TriggerAndVerifyTestVnfPolicy CheckLogMessage [Documentation] Read log messages received and check for expected content. [Arguments] ${status} ${expectedMsg} - ${result}= Run Process ${SCRIPTS}/wait_topic.sh APEX-CL-MGT ${status} + ${result}= Run Process ./data/wait_topic.sh APEX-CL-MGT ${status} Log Received log event on APEX-CL-MGT topic ${result.stdout} Should Be Equal As Integers ${result.rc} 0 Should Contain ${result.stdout} ${expectedMsg} diff --git a/helm/tests/common-library.robot b/helm/tests/common-library.robot index 42d3ed12..95831b0d 100644 --- a/helm/tests/common-library.robot +++ b/helm/tests/common-library.robot @@ -113,9 +113,9 @@ QueryPolicyStatus Should Be Equal As Strings ${responseEntry['state']} SUCCESS GetMetrics - [Arguments] ${hostname} ${auth} + [Arguments] ${hostname} ${auth} ${context_path} Log Creating session http://${hostname}:6969 ${session}= Create Session policy http://${hostname}:6969 auth=${auth} - ${resp}= GET On Session policy /metrics expected_status=200 + ${resp}= GET On Session policy ${context_path}metrics expected_status=200 Log Received response from policy ${resp.text} [return] ${resp} diff --git a/helm/tests/data/make_topic.sh b/helm/tests/data/make_topic.sh new file mode 100755 index 00000000..05383308 --- /dev/null +++ b/helm/tests/data/make_topic.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# ===========LICENSE_START==================================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ============================================================================ +# 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. +# ============LICENSE_END===================================================== +# + +# +# Creates a topic, which happens as a side-effect of polling it. +# + +if [ $# -ne 1 ] +then + echo "arg(s): topic-name" >&2 + exit 1 +fi + +topic="${1}" + +curl -s -k "http://${SIM_IP}:3904/events/${topic}/script/1?limit=1&timeout=0" +echo diff --git a/helm/tests/data/wait_topic.sh b/helm/tests/data/wait_topic.sh new file mode 100755 index 00000000..792273ef --- /dev/null +++ b/helm/tests/data/wait_topic.sh @@ -0,0 +1,61 @@ +#!/bin/bash +# +# ===========LICENSE_START==================================================== +# Copyright (C) 2023 Nordix Foundation. All rights reserved. +# ============================================================================ +# 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. +# ============LICENSE_END===================================================== +# + +# +# Polls a topic for a message. Additional text items can be specified, +# in which case, it discards messages that do not contain all of the +# specified text items. +# +# Exits with a non-zero status if no matching message is received on the +# topic before the timeout. +# + +if [ $# -lt 1 ] +then + echo "arg(s): topic-name [text-to-match1 [text-to-match2 ...]]" >&2 + exit 1 +fi + +topic="${1}" +shift + +matched=no + +while [ ${matched} = "no" ] +do + msg=`curl -s -k "http://${SIM_IP}:3904/events/${topic}/script/1?limit=1"` + if [ $? -ne 0 -o "${msg}" = "[]" ] + then + echo not found >&2 + exit 2 + fi + + matched=yes + for text in "$@" + do + echo "${msg}" | grep -q "${text}" + if [ $? -ne 0 ] + then + matched=no + break + fi + done +done + +echo "${msg}" diff --git a/helm/tests/pap-test.robot b/helm/tests/pap-test.robot index 6c845384..c8c03014 100644 --- a/helm/tests/pap-test.robot +++ b/helm/tests/pap-test.robot @@ -41,7 +41,7 @@ Consolidated Healthcheck Metrics [Documentation] Verify policy pap is exporting prometheus metrics ${auth}= PolicyAdminAuth - ${resp}= GetMetrics ${POLICY_PAP_IP} ${auth} + ${resp}= GetMetrics ${POLICY_PAP_IP} ${auth} /policy/pap/v1/ Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/pap/v1/healthcheck",} 1.0 Should Contain ${resp.text} http_server_requests_seconds_count{exception="None",method="GET",outcome="SUCCESS",status="200",uri="/policy/pap/v1/components/healthcheck",} 1.0 Should Contain ${resp.text} spring_data_repository_invocations_seconds_count{exception="None",method="save",repository="PdpGroupRepository",state="SUCCESS",} 1.0 |