[DMAAP-BC] Consolidate bus controller repos
[dmaap/buscontroller.git] / csit / tests / with_dr / test1.robot
diff --git a/csit/tests/with_dr/test1.robot b/csit/tests/with_dr/test1.robot
new file mode 100644 (file)
index 0000000..119e06b
--- /dev/null
@@ -0,0 +1,69 @@
+*** Settings ***
+Library           Collections
+Library           OperatingSystem
+Library           RequestsLibrary
+
+*** Variables ***
+${DBC_URL}     http://${DMAAPBC_IP}:8080/webapi
+${LOC}          csit-sanfrancisco
+${FEED1_DATA}  { "feedName":"feed1", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" }
+${FEED2_DATA}  { "feedName":"feed2", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" }
+${PUB2_DATA}   { "dcaeLocationName": "${LOC}", "username": "pub2", "userpwd": "topSecret123", "feedId": "2" }
+${SUB2_DATA}   { "dcaeLocationName": "${LOC}", "username": "sub2", "userpwd": "someSecret123", "deliveryURL": "https://${DMAAPBC_IP}:8443/webapi/noURI", "feedId": "2" }
+
+
+*** Test Cases ***
+(DMAAP-441c1)
+    [Documentation]        Create Feed w no clients POST webapi/feeds endpoint
+    ${resp}=         PostCall     ${DBC_URL}/feeds    ${FEED1_DATA}
+    Should Be Equal As Integers   ${resp.status_code}  200
+
+(DMAAP-441c2)
+    [Documentation]        Create Feed w clients POST webapi/feeds endpoint
+    ${resp}=         PostCall     ${DBC_URL}/feeds    ${FEED2_DATA}
+    Should Be Equal As Integers   ${resp.status_code}  200
+
+(DMAAP-441c3)
+    [Documentation]        Add Publisher to existing feed
+    ${resp}=         PostCall      ${DBC_URL}/dr_pubs    ${PUB2_DATA}
+    Should Be Equal As Integers    ${resp.status_code}  201
+    ${JSON}=         Evaluate      json.loads(r"""${resp.content}""", strict=False)
+    ${result}=       Set Variable  ${JSON['pubId']}
+    Set Suite Variable             ${pubId}    ${result}
+
+(DMAAP-441c4)
+    [Documentation]        Add Subscriber to existing feed
+    ${resp}=         PostCall      ${DBC_URL}/dr_subs    ${SUB2_DATA}
+    Should Be Equal As Integers    ${resp.status_code}  201
+    ${JSON}=         Evaluate      json.loads(r"""${resp.content}""", strict=False)
+    ${result}=       Set Variable  ${JSON['subId']}
+    Set Suite Variable             ${subId}    ${result}
+
+(DMAAP-443)
+    [Documentation]        List existing feeds
+    ${resp}=       Evaluate    requests.get('${DBC_URL}/feeds', verify=False)    requests
+    Should Be Equal As Integers     ${resp.status_code}  200
+
+(DMAAP-444)
+    [Documentation]        Delete existing subscriber
+    ${resp}=         DelCall        ${DBC_URL}/dr_subs/${subId}
+    Should Be Equal As Integers     ${resp.status_code}  204
+
+(DMAAP-445)
+    [Documentation]        Delete existing publisher
+    ${resp}=         DelCall        ${DBC_URL}/dr_pubs/${pubId}
+    Should Be Equal As Integers     ${resp.status_code}  204
+
+
+*** Keywords ***
+PostCall
+    [Arguments]    ${url}           ${data}
+    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
+    ${resp}=       Evaluate    requests.post('${url}',data='${data}', headers=${headers},verify=False)    requests
+    [Return]       ${resp}
+
+DelCall
+    [Arguments]    ${url}           
+    ${headers}=    Create Dictionary    Accept=application/json    Content-Type=application/json
+    ${resp}=       Evaluate    requests.delete('${url}', headers=${headers},verify=False)    requests
+    [Return]       ${resp}