aboutsummaryrefslogtreecommitdiffstats
path: root/helm/tests
diff options
context:
space:
mode:
authorrameshiyer27 <ramesh.murugan.iyer@est.tech>2023-02-01 15:06:45 +0000
committerrameshiyer27 <ramesh.murugan.iyer@est.tech>2023-02-07 09:49:38 +0000
commit62ccbbb1c7da36bb61174b952c9b5a3f8219e7e7 (patch)
treed79f2834b53cc61d8feff2aca811519d25421b16 /helm/tests
parent0700486a08b2bc08589f7e6b0be8338d6bbb4efa (diff)
Fix robot failures in kubernetes CSITs
Api, Pap, Clamp configurations are fixed Update Readiness containers as a list entity to wait for more than one component. Issue-ID: POLICY-4546 Signed-off-by: zrrmmua <ramesh.murugan.iyer@est.tech> Change-Id: I8598ddc01905b072edd9eb3030a83d3d806a14eb
Diffstat (limited to 'helm/tests')
-rw-r--r--helm/tests/apex-pdp-test.robot26
-rw-r--r--helm/tests/common-library.robot4
-rwxr-xr-xhelm/tests/data/make_topic.sh33
-rwxr-xr-xhelm/tests/data/wait_topic.sh61
-rw-r--r--helm/tests/pap-test.robot2
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