*** Settings *** Resource ../../common.robot Library Collections Library json Library OperatingSystem Library RequestsLibrary Library HttpLibrary.HTTP Library String *** Variables *** ${MESSAGE} Hello, world! ${DBC_URI} webapi ${DBC_URL} http://${DMAAPBC_IP}:8080/${DBC_URI} ${TOPIC_NS} org.onap.dmaap.onapCSIT ${LOC} csit-sanfrancisco ${PUB_CORE} "dcaeLocationName": "${LOC}", "clientRole": "org.onap.dmaap.client.pub", "action": [ "pub", "view" ] ${SUB_CORE} "dcaeLocationName": "${LOC}", "clientRole": "org.onap.dmaap.client.sub", "action": [ "sub", "view" ] ${PUB} { ${PUB_CORE} } ${SUB} { ${SUB_CORE} } ${TOPIC1_DATA} { "topicName":"singleMRtopic1", "topicDescription":"generated for CSIT", "owner":"dgl"} ${TOPIC2_DATA} { "topicName":"singleMRtopic2", "topicDescription":"generated for CSIT", "owner":"dgl", "clients": [ ${PUB}, ${SUB}] } ${TOPIC3_DATA} { "topicName":"singleMRtopic3", "topicDescription":"generated for CSIT", "owner":"dgl"} ${PUB3_DATA} { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${PUB_CORE} } ${SUB3_DATA} { "fqtn": "${TOPIC_NS}.singleMRtopic3", ${SUB_CORE} } *** Test Cases *** Url Test [Documentation] Check if www.onap.org can be reached Create Session sanity http://onap.readthedocs.io ${resp}= Get Request sanity / Should Be Equal As Integers ${resp.status_code} 200 (DMAAP-293) [Documentation] Create Topic w no clients POST ${DBC_URI}/topics endpoint ${resp}= PostCall ${DBC_URL}/topics ${TOPIC1_DATA} Should Be Equal As Integers ${resp.status_code} 201 (DMAAP-294) [Documentation] Create Topic w pub and sub clients POST ${DBC_URI}/topics endpoint ${resp}= PostCall ${DBC_URL}/topics ${TOPIC2_DATA} Should Be Equal As Integers ${resp.status_code} 201 (DMAAP-295) [Documentation] Create Topic w no clients and then add a client POST ${DBC_URI}/mr_clients endpoint ${resp}= PostCall ${DBC_URL}/topics ${TOPIC3_DATA} Should Be Equal As Integers ${resp.status_code} 201 ${resp}= PostCall ${DBC_URL}/mr_clients ${PUB3_DATA} Should Be Equal As Integers ${resp.status_code} 200 ${resp}= PostCall ${DBC_URL}/mr_clients ${SUB3_DATA} Should Be Equal As Integers ${resp.status_code} 200 (DMAAP-297) [Documentation] Query for all topics and specific topic Create Session get ${DBC_URL} ${resp}= Get Request get /topics Should Be Equal As Integers ${resp.status_code} 200 ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 Should Be Equal As Integers ${resp.status_code} 200 (DMAAP-301) [Documentation] Delete a subscriber Create Session get ${DBC_URL} ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 Should Be Equal As Integers ${resp.status_code} 200 ${tmp}= Get Json Value ${resp.text} /clients/1/mrClientId ${clientId}= Remove String ${tmp} \" ${resp}= DelCall ${DBC_URL}/mr_clients/${clientId} Should Be Equal As Integers ${resp.status_code} 204 (DMAAP-302) [Documentation] Delete a publisher Create Session get ${DBC_URL} ${resp}= Get Request get /topics/${TOPIC_NS}.singleMRtopic3 Should Be Equal As Integers ${resp.status_code} 200 ${tmp}= Get Json Value ${resp.text} /clients/0/mrClientId ${clientId}= Remove String ${tmp} \" ${resp}= DelCall ${DBC_URL}/mr_clients/${clientId} Should Be Equal As Integers ${resp.status_code} 204 *** Keywords *** CheckDir [Arguments] ${path} Directory Should Exist ${path} CheckUrl [Arguments] ${session} ${path} ${expect} ${resp}= Get Request ${session} ${path} Should Be Equal As Integers ${resp.status_code} ${expect} 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}