aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/dcaegen2-services-pmsh/testcases/assets/create_second_subscription_request.json58
-rw-r--r--tests/dcaegen2-services-pmsh/testcases/pmsh.robot48
2 files changed, 105 insertions, 1 deletions
diff --git a/tests/dcaegen2-services-pmsh/testcases/assets/create_second_subscription_request.json b/tests/dcaegen2-services-pmsh/testcases/assets/create_second_subscription_request.json
new file mode 100644
index 00000000..6ac847d2
--- /dev/null
+++ b/tests/dcaegen2-services-pmsh/testcases/assets/create_second_subscription_request.json
@@ -0,0 +1,58 @@
+{
+ "subscription": {
+ "subscriptionName": "subs_02",
+ "operationalPolicyName":"pmsh-operational-policy",
+ "controlLoopName":"pmsh-control-loop",
+ "nfFilter": {
+ "nfNames": [
+ "^pnf.*",
+ "^vnf.*"
+ ],
+ "modelInvariantIDs": [
+
+ ],
+ "modelVersionIDs": [
+ ],
+ "modelNames": [
+ ]
+ },
+ "measurementGroups": [
+ {
+ "measurementGroup": {
+ "measurementGroupName": "msg_grp_03",
+ "fileBasedGP":15,
+ "fileLocation":"pm.xml",
+ "administrativeState": "UNLOCKED",
+ "measurementTypes": [
+ {
+ "measurementType": "counter_a"
+ }
+ ],
+ "managedObjectDNsBasic": [
+ {
+ "DN": "string"
+ }
+ ]
+ }
+ },
+ {
+ "measurementGroup": {
+ "measurementGroupName": "msg_grp_04",
+ "fileBasedGP":15,
+ "fileLocation":"pm.xml",
+ "administrativeState": "UNLOCKED",
+ "measurementTypes": [
+ {
+ "measurementType": "counter_a"
+ }
+ ],
+ "managedObjectDNsBasic": [
+ {
+ "DN": "string"
+ }
+ ]
+ }
+ }
+ ]
+ }
+}
diff --git a/tests/dcaegen2-services-pmsh/testcases/pmsh.robot b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
index b099e517..135d65dd 100644
--- a/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
+++ b/tests/dcaegen2-services-pmsh/testcases/pmsh.robot
@@ -24,12 +24,20 @@ ${MR_AAI_PNF_REMOVED} %{WORKSPACE}/tests/dcaegen2-services
${MR_POLICY_RESPONSE_PNF_EXISTING} %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/policy-sub-created-pnf-existing.json
${CBS_EXPECTATION_ADMIN_STATE_UNLOCKED} %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/cbs-expectation-unlocked-config.json
${CREATE_SUBSCRIPTION_DATA} %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/create_subscription_request.json
+${CREATE_SECOND_SUBSCRIPTION_DATA} %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/create_second_subscription_request.json
${CREATE_SUBSCRIPTION_BAD_DATA} %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/create_subscription_bad_request.json
${CREATE_SUBSCRIPTION_SCHEMA_ERROR_DATA} %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/create_subscription_schema_error_request.json
${ADMIN_STATE_LOCKED_PATTERN} 'administrativeState': 'LOCKED'
${CLI_EXEC_GET_CBS_CONFIG_FIRST} docker exec pmsh /bin/sh -c "grep -m 1 'PMSH config from CBS' /var/log/ONAP/dcaegen2/services/pmsh/application.log"
*** Test Cases ***
+Verify Get subscriptions with Network Functions None
+ [Tags] PMSH_01
+ [Documentation] Verify Get all subscriptions when there are no defined subscriptions
+ [Timeout] 10 seconds
+ ${resp}= GetSubsCall ${SUBSCRIPTION_ENDPOINT} ""
+ Should Be True ${resp.status_code} == 200
+ Should Contain ${resp.text} []
Verify Create Subscriptions API
[Tags] PMSH_07
@@ -133,6 +141,44 @@ Verify Get Measurement Group with Network Functions
Should Be Equal As Strings ${resp.json()['networkFunctions'][0]['nfName']} pnf-existing
Should be equal as numbers ${nf_length} 1
+Verify Get single subscription with Network Functions
+ [Tags] PMSH_12
+ [Documentation] Verify Get single subscription with Network Functions by using subscription name
+ [Timeout] 60 seconds
+ ${resp}= GetSubsCall ${SUBSCRIPTION_ENDPOINT}/subs_01 ""
+ ${nf_length}= Get length ${resp.json()['subscription']['nfs']}
+ Should Be True ${resp.status_code} == 200
+ Should Be Equal As Strings ${resp.json()['subscription']['subscriptionName']} subs_01
+ Should Be Equal As Strings ${resp.json()['subscription']['nfs'][0]} pnf-existing
+ Should Be Equal As Strings ${resp.json()['subscription']['measurementGroups'][0]['measurementGroup']['measurementGroupName']} msg_grp_02
+ Should be equal as numbers ${nf_length} 1
+
+Verify Get single subscription with Network Functions None
+ [Tags] PMSH_13
+ [Documentation] Verify Get single subscription with Network Functions when there is no defined subscription
+ [Timeout] 60 seconds
+ ${resp}= GetSubsCall ${SUBSCRIPTION_ENDPOINT}/sub_none ""
+ Should Be True ${resp.status_code} == 404
+ Should Be Equal As Strings ${resp.json()['error']} Subscription was not defined with the name : sub_none
+
+Verify Get subscriptions with Network Functions
+ [Tags] PMSH_14
+ [Documentation] Verify Get all defined subscriptions with associated Network Functions
+ [Timeout] 60 seconds
+ ${json_value}= json_from_file ${CREATE_SECOND_SUBSCRIPTION_DATA}
+ ${resp_post}= PostSubscriptionCall ${SUBSCRIPTION_ENDPOINT} ${json_value}
+ ${resp}= GetSubsCall ${SUBSCRIPTION_ENDPOINT} ""
+ ${nf_length_first}= Get length ${resp.json()[0]['subscription']['nfs']}
+ ${nf_length_second}= Get length ${resp.json()[1]['subscription']['nfs']}
+ Should Be True ${resp.status_code} == 200
+ Should Be Equal As Strings ${resp.json()[0]['subscription']['subscriptionName']} subs_01
+ Should Be Equal As Strings ${resp.json()[0]['subscription']['nfs'][0]} pnf-existing
+ Should Be Equal As Strings ${resp.json()[0]['subscription']['measurementGroups'][0]['measurementGroup']['measurementGroupName']} msg_grp_02
+ Should be equal as numbers ${nf_length_first} 1
+ Should Be Equal As Strings ${resp.json()[1]['subscription']['subscriptionName']} subs_02
+ Should Be Equal As Strings ${resp.json()[1]['subscription']['nfs'][0]} pnf-existing
+ Should Be Equal As Strings ${resp.json()[1]['subscription']['measurementGroups'][0]['measurementGroup']['measurementGroupName']} msg_grp_04
+ Should be equal as numbers ${nf_length_second} 1
*** Keywords ***
@@ -184,7 +230,7 @@ PostMrCall
GetSubsCall
[Arguments] ${url} ${url_path_param}
Create Session pmsh_session ${PMSH_BASE_URL} verify=false
- ${resp}= GET On Session pmsh_session url=${url} data={"path": {url_path_param}}
+ ${resp}= GET On Session pmsh_session url=${url} data={"path": {url_path_param}} expected_status=any
[Return] ${resp}
GetMeasGrpCall