| *** Settings *** |
| Library OperatingSystem |
| Library RequestsLibrary |
| Library requests |
| Library Collections |
| Library String |
| Library Process |
| |
| *** Variables *** |
| ${TARGETURL_PUBLISH} http://${DMAAP_MR_IP}:3904/events/TestTopic1 |
| ${TARGETURL_TOPICS} http://${DMAAP_MR_IP}:3904/topics |
| ${TARGETURL_SUBSCR} http://${DMAAP_MR_IP}:3904/events/TestTopic1/CG1/C1?timeout=1000 |
| ${TEST_DATA} {"topicName": "TestTopic1"} |
| ${TOPIC_DATA} {"topicName":"FirstTopic","topicDescription":"This is a TestTopic","partitionCount":"1","replicationCount":"3","transactionEnabled":"true"} |
| |
| *** Test Cases *** |
| Run Topic Creation and Publish |
| [Documentation] Topic Creation |
| [Timeout] 1 minute |
| ${resp}= PostCall ${TARGETURL_PUBLISH} ${TEST_DATA} |
| log ${TARGETURL_PUBLISH} |
| log ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| ${count}= Evaluate $resp.json().get('count') |
| log 'JSON Response Code:'${resp} |
| |
| Run Subscribing a message status |
| [Documentation] Subscribide message status |
| [Timeout] 1 minute |
| ${resp}= GetCall ${TARGETURL_SUBSCR} |
| log ${TARGETURL_SUBSCR} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| log 'JSON Response Code :'${resp} |
| |
| Run check topics are exisiting |
| [Documentation] Get the count of the Topics |
| [Timeout] 1 minute |
| ${resp}= GetCall ${TARGETURL_TOPICS} |
| log ${TARGETURL_TOPICS} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| log 'JSON Response Code :'${resp} |
| ${topics}= Evaluate $resp.json().get('topics') |
| log ${topics} |
| ${ListLength}= Get Length ${topics} |
| log ${ListLength} |
| List Should Contain Value ${topics} TestTopic1 |
| |
| Run Publish and Subscribe a message |
| [Documentation] Publish and Subscribe the message |
| [Timeout] 1 minute |
| ${resp}= PostCall ${TARGETURL_PUBLISH} ${TEST_DATA} |
| log ${TARGETURL_PUBLISH} |
| log ${resp.text} |
| Should Be Equal As Strings ${resp.status_code} 200 |
| ${sub_resp}= GetCall ${TARGETURL_SUBSCR} |
| log ${TARGETURL_SUBSCR} |
| Should Be Equal As Strings ${sub_resp.status_code} 200 |
| log 'JSON Response Code :'${sub_resp} |
| ${ListLength}= Get Length ${sub_resp.json()} |
| log ${ListLength} |
| List Should Contain Value ${sub_resp.json()} {"topicName":"TestTopic1"} case_insensitive=yes |
| |
| *** 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} |
| |
| GetCall |
| [Arguments] ${url} |
| ${headers}= Create Dictionary Accept=application/json Content-Type=application/json |
| ${resp}= Evaluate requests.get('${url}', headers=${headers}, verify=False) requests |
| [Return] ${resp} |