Documentation Template contains stuff for HV-VES use case.
Library OperatingSystem
Library Rammbock
-Library KafkaLibrary
Library BuiltIn
Library Collections
Library HttpLibrary.HTTP
${sasl_mechanisms} PLAIN
*** Keywords ***
-Check Message Via Message Router Api
+Check Message Router Api
[Documentation] Checks message via message router API.
- [Arguments] ${message_router} ${message_router_port} ${topic} ${state}
- ${response}= GET http://${message_router}:${message_router_port}/events/${topic}/1/1
- ${body}= Get Response Body
- Run Keyword If '${state}'=='before' Should Be Equal ${body} []
- Run Keyword If '${state}'=='after' Should Not Be Equal ${body} []
+ [Arguments] ${message_router} ${message_router_port} ${topic}
+ ${status} ${response}= Run Keyword And Ignore Error GET http://${message_router}:${message_router_port}/events/${topic}/1/1
+ ${response_code}= Get Response Status
+ ${response_body}= Get Response Body
+ Run Keyword If '${status}'=='FAIL' Should Start With ${response_code} 404
+ Run Keyword If '${status}'=='FAIL' Log Topic ${topic} does not exist.
+ Run Keyword If '${status}'=='PASS' Should Start With ${response_code} 200
+ Run Keyword If '${status}'=='PASS' Log Topic ${topic} exists.
Check If Topic Exists
[Documentation] Checks if specific topic exists on kafka.
New Message HvVesMessage protocol=WireTransferProtocol
Client Sends Message
-Download VesEvent Proto File
- [Documentation] Download proto file.
- [Arguments] ${path}
- Run wget "https://gerrit.onap.org/r/gitweb?p=dcaegen2/collectors/hv-ves.git;a=blob_plain;f=hv-collector-domain/src/main/proto/event/VesEvent.proto;hb=HEAD" -O ${path}/VesEvent.proto
-
Decode Last Message From Topic
[Documentation] Decode last message from Kafka topic.
[Arguments] ${kafka_server} ${kafka_port} ${kafka_topic} ${sec_protocol} ${mechanisms} ${username} ${password}
*** Settings ***
-Documentation HV-VES 'Sunny Scenario' Robot Framwork test - message is sent to the collector and Kafka topic is checked if the message has been published.
+Documentation HV-VES 'Sunny Scenario' Robot Framework test - message is sent to the collector and Kafka topic is checked if the message has been published. Content is decoded and checked.
Default Tags hvves ete
Test Timeout 3m
Resource ${EXECDIR}/robot/resources/global_properties.robot
*** Test Cases ***
HV-VES test case
- Check Message Via Message Router Api ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_NAME} ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_PORT} ${hvves_kafka_topic} before
+ Check Message Router Api ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_NAME} ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_PORT} ${hvves_kafka_topic}
Define WTP Protocol
Start HV-VES TCP Client And Send Message ${GLOBAL_DCAE_HVVES_SERVER_NAME} ${GLOBAL_DCAE_HVVES_SERVER_PORT}
Wait Until Keyword Succeeds 30s 5s Check If Topic Exists ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_NAME} ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_PORT} ${hvves_kafka_topic}
- Check Message Via Message Router Api ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_NAME} ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_PORT} ${hvves_kafka_topic} after
+ Check Message Router Api ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_NAME} ${GLOBAL_DMAAP_MESSAGE_ROUTER_SERVER_PORT} ${hvves_kafka_topic}
${msg_decoded}= Decode Last Message From Topic ${GLOBAL_DMAAP_KAFKA_SERVER_NAME} ${GLOBAL_DMAAP_KAFKA_SERVER_PORT} ${hvves_kafka_topic} ${security_protocol} ${sasl_mechanisms} ${GLOBAL_DMAAP_KAFKA_JAAS_USERNAME} ${GLOBAL_DMAAP_KAFKA_JAAS_PASSWORD}
${msg_decoded_template}= Get File ${EXECDIR}/robot/assets/templates/hvves/hvves_decoded_msg.template
Should Be Equal As Strings ${msg_decoded} ${msg_decoded_template}