Add test cases for delete api
[integration/csit.git] / tests / dmaap-datarouter / dr-suite / dr-suite.robot
index 2270aee..fb70326 100755 (executable)
@@ -3,22 +3,30 @@ Library           OperatingSystem
 Library           RequestsLibrary
 Library           requests
 Library           Collections
+Library           Process
 Library           String
 
 *** Variables ***
-${TARGET_URL}                   https://${DR_PROV_IP}:8443
-${TARGET_URL_FEED}              https://${DR_PROV_IP}:8443/feed/1
-${TARGET_URL_SUBSCRIBE}         https://${DR_PROV_IP}:8443/subscribe/1
-${TARGET_URL_SUBSCRIPTION}      https://${DR_PROV_IP}:8443/subs/1
-${TARGET_URL_PUBLISH_PROV}      https://${DR_PROV_IP}:8443/publish/1/csit_test
-${TARGET_URL_PUBLISH_NODE}      https://${DR_NODE_IP}:8443/publish/1/csit_test
-${CREATE_FEED_DATA}             {"name": "CSIT_Test", "version": "m1.0", "description": "CSIT_Test", "business_description": "CSIT_Test", "suspend": false, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [],  "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}}
-${UPDATE_FEED_DATA}             {"name": "CSIT_Test", "version": "m1.0", "description": "UPDATED-CSIT_Test", "business_description": "CSIT_Test", "suspend": true, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [],  "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}}
-${SUBSCRIBE_DATA}               {"delivery":{ "url":"https://${DR_PROV_IP}:8080/",  "user":"rs873m", "password":"rs873m", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"sg481n"}
-${UPDATE_SUBSCRIPTION_DATA}     {"delivery":{ "url":"https://${DR_PROV_IP}:8080/",  "user":"sg481n", "password":"sg481n", "use100":true}, "metadataOnly":false, "suspend":true, "groupid":29, "subscriber":"sg481n"}
-${FEED_CONTENT_TYPE}            application/vnd.dmaap-dr.feed
-${SUBSCRIBE_CONTENT_TYPE}       application/vnd.dmaap-dr.subscription
-${PUBLISH_FEED_CONTENT_TYPE}    application/octet-stream
+${TARGET_URL}                       https://${DR_PROV_IP}:8443
+${TARGET_URL_FEED}                  https://${DR_PROV_IP}:8443/feed/1
+${TARGET_URL_SUBSCRIBE}             https://${DR_PROV_IP}:8443/subscribe/1
+${TARGET_URL_SUBSCRIPTION}          https://${DR_PROV_IP}:8443/subs/1
+${TARGET_URL_PUBLISH_PROV}          https://${DR_PROV_IP}:8443/publish/1/csit_test
+${TARGET_URL_PUBLISH_NODE}          https://${DR_NODE_IP}:8443/publish/1/csit_test
+${TARGET_URL_DELETE_FILE}           https://${DR_NODE_IP}:8443/delete/2
+
+${FEED_CONTENT_TYPE}                application/vnd.dmaap-dr.feed
+${SUBSCRIBE_CONTENT_TYPE}           application/vnd.dmaap-dr.subscription
+${PUBLISH_FEED_CONTENT_TYPE}        application/octet-stream
+
+${CREATE_FEED_DATA}                 {"name": "CSIT_Test", "version": "m1.0", "description": "CSIT_Test", "business_description": "CSIT_Test", "suspend": false, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [],  "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}}
+${UPDATE_FEED_DATA}                 {"name": "CSIT_Test", "version": "m1.0", "description": "UPDATED-CSIT_Test", "business_description": "CSIT_Test", "suspend": true, "deleted": false, "changeowner": true, "authorization": {"classification": "unclassified", "endpoint_addrs": [],  "endpoint_ids": [{"password": "rs873m", "id": "rs873m"}]}}
+${SUBSCRIBE_DATA}                   {"delivery":{ "url":"http://${DR_SUB_IP}:7070/",  "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"sg481n", "privilegedSubscriber":false}
+${UPDATE_SUBSCRIPTION_DATA}         {"delivery":{ "url":"http://${DR_SUB_IP}:7070/",  "user":"sg481n", "password":"sg481n", "use100":true}, "metadataOnly":false, "suspend":true, "groupid":29, "subscriber":"sg481n", "privilegedSubscriber":false}
+${SUBSCRIBE2_DATA}                  {"delivery":{ "url":"http://${DR_SUB2_IP}:7070/",  "user":"LOGIN", "password":"PASSWORD", "use100":true}, "metadataOnly":false, "suspend":false, "groupid":29, "subscriber":"privileged", "privilegedSubscriber":true}
+
+${CLI_VERIFY_SUB_RECEIVED_FILE}     docker exec subscriber-node /bin/sh -c "ls /opt/app/subscriber/delivery | grep csit_test"
+${CLI_VERIFY_FILE_REMAINS_ON_NODE}  docker exec datarouter-node /bin/sh -c "ls /opt/app/datartr/spool/s/0/2 | grep dmaap-dr-node | grep -v .M"
 
 *** Test Cases ***
 Run Feed Creation
@@ -39,7 +47,16 @@ Run Subscribe to Feed
     Should Be Equal As Strings      ${resp.status_code}              201
     log                             'JSON Response Code:'${resp}
 
-Run Publish Feed
+Run Subscribe to Feed with Privileged Subscription
+    [Documentation]                 Subscribe to Feed with privileged subscription
+    [Timeout]                       1 minute
+    ${resp}=                        PostCall                         ${TARGET_URL_SUBSCRIBE}    ${SUBSCRIBE2_DATA}      ${SUBSCRIBE_CONTENT_TYPE}    privileged
+    log                             ${TARGET_URL_SUBSCRIBE}
+    log                             ${resp.text}
+    Should Be Equal As Strings      ${resp.status_code}              201
+    log                             'JSON Response Code:'${resp}
+
+Run Publish to Feed
     [Documentation]                 Publish to Feed
     [Timeout]                       1 minute
     Sleep                           10s                              Behaviour was noticed where feed was not created in time for publish to be sent
@@ -50,6 +67,30 @@ Run Publish Feed
     Should Be Equal As Strings      ${resp.status_code}              204
     log                             'JSON Response Code:'${resp}
 
+Verify Subscriber Received Published File
+    [Documentation]                 Verify file is delivered to datarouter-subscriber
+    [Timeout]                       1 minute
+    Sleep                           5s                               Time to allow subscriber to receive the file
+    ${cli_cmd_output}=              Run Process                      ${CLI_VERIFY_SUB_RECEIVED_FILE}        shell=yes
+    Log                             ${cli_cmd_output.stdout}
+    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
+    Should Contain                  ${cli_cmd_output.stdout}         csit_test
+
+
+Verify File Remains On Privileged Subscriber And Delete It
+    [Documentation]                 Verify file has not been deleted on datarouter-node and delete it using DELETE API
+    [Timeout]                       1 minute
+    ${cli_cmd_output}=              Run Process                      ${CLI_VERIFY_FILE_REMAINS_ON_NODE}        shell=yes
+    log                             ${cli_cmd_output.stdout}
+    Should Be Equal As Strings      ${cli_cmd_output.rc}             0
+    Should Contain                  ${cli_cmd_output.stdout}         dmaap-dr-node
+    ${resp}=                        DeleteCall                       ${TARGET_URL_DELETE_FILE}/${cli_cmd_output.stdout}   rs873m
+    Should Be Equal As Strings      ${resp.status_code}              200
+    log                             'JSON Response Code:'${resp}
+    ${cli_cmd_output}=              Run Process                      ${CLI_VERIFY_FILE_REMAINS_ON_NODE}        shell=yes
+    log                             ${cli_cmd_output.stdout}
+    Should Be Equal As Strings      ${cli_cmd_output.rc}             1
+
 Run Update Subscription
     [Documentation]                 Update Subscription to suspend and change delivery credentials
     [Timeout]                       1 minute