[PMSH] CSIT Enhancements
[integration/csit.git] / tests / dcaegen2-services-pmsh / testcases / pmsh.robot
index 44052b6..8ab2da6 100644 (file)
@@ -14,7 +14,6 @@ Test Teardown     Delete All Sessions
 
 ${PMSH_BASE_URL}                    https://${PMSH_IP}:8443
 ${MR_SIM_BASE_URL}                  http://${MR_SIM_IP_ADDRESS}:3904
-${CBS_BASE_URL}                     https://${CBS_SIM_IP_ADDRESS}:10443
 ${SUBSCRIPTION_ENDPOINT}            /subscription
 
 ${MR_SIM_RESET}                             %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/mr-sim-reset.json
@@ -22,11 +21,11 @@ ${MR_AAI_PNF_CREATED}                       %{WORKSPACE}/tests/dcaegen2-services
 ${MR_AAI_PNF_REMOVED}                       %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/aai-pnf-delete.json
 ${MR_POLICY_RESPONSE_PNF_EXISTING}          %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/policy-sub-created-pnf-existing.json
 ${MR_POLICY_RESPONSE_PNF_DELETED}           %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/policy-sub-deleted-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
+${CREATE_MSG_GRP_DATA}                      %{WORKSPACE}/tests/dcaegen2-services-pmsh/testcases/assets/create_msg_grp.json
 
 *** Test Cases ***
 Verify Get subscriptions with Network Functions None
@@ -59,8 +58,6 @@ Verify PNF detected in AAI when administrative state unlocked
     [Tags]                          PMSH_03
     [Documentation]                 Verify PNF detected when administrative state unlocked
     [Timeout]                       60 seconds
-    SetAdministrativeStateToUnlocked
-    Sleep                           31             Allow PMSH time to pick up changes in CBS config
     ${resp}=                        GetMeasGrpCall    /subscription/subs_01/measurementGroups/msg_grp_01
     Should Be Equal As Strings      ${resp.json()['subscriptionName']}      subs_01
     Should Be Equal As Strings      ${resp.json()['administrativeState']}       UNLOCKED
@@ -205,13 +202,10 @@ Verify Measurement Group admin status update from Locking to Locked
     ${nf_length}=                   Get length  ${resp.json()['networkFunctions']}
     Should be equal as numbers      ${nf_length}  0
 
-Verify Update Measurement Group admin status to unlocked with no Network Functions in Subscription
+Verify Update Measurement Group admin status to unlocked
     [Tags]                          PMSH_17
     [Documentation]                 Verify Update Measurement Group admin status to unlocked with no Network Functions in Subscription
     [Timeout]                       60 seconds
-    ${resp}=                        GetSubsCall    ${SUBSCRIPTION_ENDPOINT}/subs_01  ""
-    ${nf_length}=                   Get length  ${resp.json()['subscription']['nfs']}
-    Should be equal as numbers      ${nf_length}  0
     ${json_string}=                 Set Variable    {"administrativeState": "UNLOCKED"}
     ${json}=                        evaluate        json.loads('''${json_string}''')    json
     ${resp}=                        PutMsgGrpStatusCall     /subscription/subs_01/measurementGroups/msg_grp_01/adminState   ${json}
@@ -285,16 +279,47 @@ Verify Get subscriptions with Network Functions
        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 ***
+Verify Delete Measurement Group with Administrative State unlocked
+    [Tags]                          PMSH_22
+    [Documentation]                 Verify Delete Measurement Group with Administrative State unlocked
+    [Timeout]                       60 seconds
+    ${json_string}=                 Set Variable    {"administrativeState": "UNLOCKED"}
+    ${json}=                        evaluate        json.loads('''${json_string}''')    json
+    PutMsgGrpStatusCall             /subscription/subs_01/measurementGroups/msg_grp_02/adminState   ${json}
+    ${resp}=                        DeleteMeasGrpCall   /subscription/subs_01/measurementGroups/msg_grp_02
+    Should Be True                  ${resp.status_code} == 409
 
-SetAdministrativeStateToUnlocked
-    ${data}=            Get Data From File      ${CBS_EXPECTATION_ADMIN_STATE_UNLOCKED}
-    Create Session      cbs_sim_session   ${CBS_BASE_URL}    verify=false
-    ${resp}=            PUT On Session    cbs_sim_session    url=/clear  data={"path": "/service_component_all/.*"}
-    Should Be True      ${resp.status_code} == 200
-    Sleep               2                 Allow CBS time to set expectation
-    ${resp} =           PUT On Session    cbs_sim_session    url=/expectation     data=${data}
-    Should Be True      ${resp.status_code} == 201
+Verify Delete Measurement Group with incorrect Measurement Group name server error
+    [Tags]                          PMSH_23
+    [Documentation]                 Verify Delete Measurement Group with incorrect Measurement Group Name
+    [Timeout]                       60 seconds
+    ${resp}=                        DeleteMeasGrpCall   /subscription/subs_01/measurementGroups/nonexistent
+    Should Be True                  ${resp.status_code} == 500
+
+Verify Create Measurement Group successful
+    [Tags]                          PMSH_24
+    [Documentation]                 Verify Create Measurement Group successful
+    [Timeout]                       60 seconds
+    ${json_value}=                  json_from_file                  ${CREATE_MSG_GRP_DATA}
+    ${resp}=                        PostMsgGrpCall      /subscription/subs_01/measurementGroups/msg_grp_05  ${json_value}
+    Should Be True                  ${resp.status_code} == 201
+
+Verify Create Measurement Group unsuccessful
+    [Tags]                          PMSH_25
+    [Documentation]                 Verify Create Measurement Group successful
+    [Timeout]                       60 seconds
+    ${json_value}=                  json_from_file                  ${CREATE_MSG_GRP_DATA}
+    ${resp}=                        PostMsgGrpCall      /subscription/subs_01/measurementGroups/msg_grp_05  ${json_value}
+    Should Be True                  ${resp.status_code} == 409
+
+Verify Delete Measurement Group successful
+    [Tags]                          PMSH_26
+    [Documentation]                 Verify Delete Measurement Group successful
+    [Timeout]                       60 seconds
+    ${resp}=                        DeleteMeasGrpCall   /subscription/subs_01/measurementGroups/msg_grp_05
+    Should Be True                  ${resp.status_code} == 204
+
+*** Keywords ***
 
 AddCreatePolicyResponeToMrSim
     ${data}=            Get Data From File      ${MR_POLICY_RESPONSE_PNF_EXISTING}
@@ -358,6 +383,12 @@ GetMeasGrpWithNFSCall
     ${resp}=        GET On Session    pmsh_session        url=${url}
     [Return]        ${resp}
 
+DeleteMeasGrpCall
+    [Arguments]     ${url}
+    Create Session  pmsh_session      ${PMSH_BASE_URL}    verify=false
+    ${resp}=        DELETE On Session    pmsh_session        url=${url}     expected_status=anything
+    [Return]        ${resp}
+
 PostSubscriptionCall
     [Arguments]     ${url}     ${data}
     Create Session  pmsh_sub_session       ${PMSH_BASE_URL}    verify=false
@@ -365,6 +396,13 @@ PostSubscriptionCall
     ${resp}=        POST On Session      pmsh_sub_session    url=${url}    json=${data}     headers=${headers}  expected_status=anything
     [Return]        ${resp}
 
+PostMsgGrpCall
+    [Arguments]     ${url}     ${data}
+    Create Session  pmsh_sub_session       ${PMSH_BASE_URL}    verify=false
+    ${headers}=     Create Dictionary    Accept=application/json     Content-Type=application/json
+    ${resp}=        POST On Session      pmsh_sub_session    url=${url}    json=${data}     headers=${headers}  expected_status=anything
+    [Return]        ${resp}
+
 PutMsgGrpStatusCall
     [Arguments]     ${url}     ${data}
     Create Session  pmsh_sub_session       ${PMSH_BASE_URL}    verify=false