diff options
Diffstat (limited to 'tests/dmaap/mrpubsub/mrpubsub.robot')
-rwxr-xr-x | tests/dmaap/mrpubsub/mrpubsub.robot | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/dmaap/mrpubsub/mrpubsub.robot b/tests/dmaap/mrpubsub/mrpubsub.robot new file mode 100755 index 00000000..c711bd75 --- /dev/null +++ b/tests/dmaap/mrpubsub/mrpubsub.robot @@ -0,0 +1,73 @@ +*** Settings *** +Library OperatingSystem +Library RequestsLibrary +Library requests +Library Collections +Library String + +*** 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 Publich 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} |