Fixes [INT-159] Missing automation in 7.3.11 tests. SMO gets 400 when issuing APIs... 75/14075/3
authorAlberto Losada <alosadag@redhat.com>
Wed, 15 Jan 2025 13:18:06 +0000 (14:18 +0100)
committerAlberto Losada <alosadag@redhat.com>
Wed, 19 Mar 2025 10:38:48 +0000 (11:38 +0100)
The RequestsLibrary is used instead of the REST because
we do not want to validate JSON format in the POST request.

Issue-ID: INT-159

Change-Id: Ie91702c639da16df0f7794add03f027050583671
Signed-off-by: Alberto Losada <alosadag@redhat.com>
test_scripts/O2IMS_Compliance_Test/o2ims_compliance/7.3.11_SMO_gets_400_when_issuing_APIs_with_unsupported_data.robot [new file with mode: 0644]

diff --git a/test_scripts/O2IMS_Compliance_Test/o2ims_compliance/7.3.11_SMO_gets_400_when_issuing_APIs_with_unsupported_data.robot b/test_scripts/O2IMS_Compliance_Test/o2ims_compliance/7.3.11_SMO_gets_400_when_issuing_APIs_with_unsupported_data.robot
new file mode 100644 (file)
index 0000000..62a902c
--- /dev/null
@@ -0,0 +1,61 @@
+*** Settings ***
+Documentation  Verify SMO gets 400 when issuing APIs with junk/unsupported data
+# Library  REST       ssl_verify=False    loglevel=DEBUG
+Library    RequestsLibrary
+Variables              ${EXECDIR}${/}test_configs.yaml
+
+*** Variables ***
+${ORAN_HOST_EXTERNAL_IP}    ${ocloud.oran_o2_app.api.host}
+${ORAN_SERVICE_NODE_PORT}   ${ocloud.oran_o2_app.api.node_port}
+${GLOBAL_OCLOUD_ID1}        ${ocloud.oran_o2_app.g_ocloud_id}
+${SMO_TOKEN_DATA}           ${ocloud.oran_o2_app.smo_token_data}
+${globalLocationId}         ${ocloud.oran_o2_app.g_location_id}
+
+${ORAN_O2IMS_ENDPOINT}  ${ocloud.oran_o2_app.api.protocol}://${ORAN_HOST_EXTERNAL_IP}:${ORAN_SERVICE_NODE_PORT}
+${o2ims_observer}       https://10.6.85.1:1080/smo/v1/consumer
+
+*** Test Cases ***
+s1, Verify create inventory subscription with junk data gets 400 error.
+    [documentation]  This test case verifies return code is “400 Bad request” when the inventory subscription contains junk data
+    [tags]  ORAN_Compliance     ORAN_O2     ORAN_O2IMS     ORAN_O2IMS_DeploymentManager
+
+    ${tokenHeader}=    Create Dictionary    Authorization=Bearer ${SMO_TOKEN_DATA}    Content-Type=application/json
+    Set Suite Variable   ${tokenHeader}
+    Create Session    o2ims    ${ORAN_O2IMS_ENDPOINT}    verify=False    debug=1   headers=${tokenHeader}
+
+    # Improperly formatted JSON subscriptionRequest
+    ${subscriptionRequest}   Set Variable   {"consumerSubscriptionId" "69253c4b-8398-4602-855d-783865f5f25c","filter" "(eq,extensions/country,US);","callback" ${o2ims_observer}}
+    ${res}=   POST On Session   o2ims   /o2ims-infrastructureInventory/v1/subscriptions   data=${subscriptionRequest}   expected_status=400
+    log      ${res}   level=DEBUG
+    Status Should Be   400   ${res}
+
+s2, Verify create inventory subscription with unsupported data gets 400 error.
+    [documentation]  This test case verifies return code is “400 Bad request” when the inventory subscription contains unsupported data
+    [tags]  ORAN_Compliance     ORAN_O2     ORAN_O2IMS     ORAN_O2IMS_DeploymentManager
+
+    # Unsupported formatted XML subscriptionRequest
+    ${subscriptionRequest}      Set Variable   <?xml version="1.0" encoding="UTF-8" ?><root><consumerSubscriptionId>69253c4b-8398-4602-855d-783865f5f25c</consumerSubscriptionId><filter>(eq,extensions/country,US);</filter><callback>${o2ims_observer}</callback></root>
+    ${res}=   POST On Session   o2ims   /o2ims-infrastructureInventory/v1/subscriptions   data=${subscriptionRequest}   expected_status=400
+    log      ${res}   level=DEBUG
+    Status Should Be   400   ${res}
+
+s3, Verify create monitoring alarm subscription with junk data gets 400 error.
+    [documentation]  This test case verifies return code is “400 Bad request” when the alarm subscription contains junk data
+    [tags]  ORAN_Compliance     ORAN_O2     ORAN_O2IMS     ORAN_O2IMS_DeploymentManager
+
+    # Improperly formatted JSON subscriptionAlarmRequest
+    ${subscriptionAlarmRequest}      Set Variable   {"consumerSubscriptionId" "16d5fc54-cee0-4532-9826-2369f8240e1b","filter" "NEW","callback" ${o2ims_observer}}
+    ${res}=   POST On Session   o2ims   /o2ims-infrastructureMonitoring/v1/alarmSubscriptions   data=${subscriptionAlarmRequest}   expected_status=400
+    log      ${res}   level=DEBUG
+    Status Should Be   400   ${res}
+
+
+s4, Verify create monitoring alarm subscription with unsupported data gets 400 error.
+    [documentation]  This test case verifies return code is “400 Bad request” when the alarm subscription contains unsupported data
+    [tags]  ORAN_Compliance     ORAN_O2     ORAN_O2IMS     ORAN_O2IMS_DeploymentManager
+
+    # Unsupported formatted XML subscriptionAlarmRequest
+    ${subscriptionAlarmRequest}      Set Variable   <?xml version="1.0" encoding="UTF-8" ?><root><consumerSubscriptionId>16d5fc54-cee0-4532-9826-2369f8240e1b</consumerSubscriptionId><filter>NEW<filter><callback>${o2ims_observer}</callback></root>
+    ${res}=   POST On Session   o2ims   /o2ims-infrastructureMonitoring/v1/alarmSubscriptions   data=${subscriptionAlarmRequest}   expected_status=400
+    log      ${res}   level=DEBUG
+    Status Should Be   400   ${res}
\ No newline at end of file