blob: d68b9ed1756d4da83a43c77dd92cfcffd06d0c2c [file] [log] [blame]
*** 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}