ac43bae0b98a85908f87e71dad11d52f06ed83a7
[testsuite.git] / robot / resources / dcae / hvves.robot
1 *** Settings ***
2 Documentation    Template contains stuff for HV-VES use case.
3 Library    OperatingSystem
4 Library    RequestsLibrary
5 Library    BuiltIn
6 Library    Collections
7 Library    ONAPLibrary.Utilities
8 Library    String
9 Library    ONAPLibrary.Kafka
10 Resource    ../mr_interface.robot
11 Resource    ../consul_interface.robot
12
13 *** Variables ***
14 ${HVVES_MESSAGE}    \xaa\x01\x00\x00\x00\x00\x00\x01\x00\x00\x01'\n\x94\x02\n\x0esample-version\x12\x08perf3gpp\x18\x01 \x01*\nperf3GPP222\x11sample-event-name:\x11sample-event-type@\xf1\x9a\xfd\xdd\x05H\xf1\x9a\xfd\xdd\x05R\x15sample-nf-naming-codeZ\x16sample-nfc-naming-codeb\x15sample-nf-vendor-namej\x1asample-reporting-entity-idr\x1csample-reporting-entity-namez\x10sample-source-id\x82\x01\x0fsample-xnf-name\x8a\x01\tUTC+02:00\x92\x01\x057.0.2\x12\x0etest test test
15 ${HVVES_CONFIG_SSL}    {"security.sslDisable": false, "logLevel": "INFO", "security.keys.trustStoreFile": "/tmp/ca.p12", "server.listenPort": 6061, "server.idleTimeoutSec": 300, "cbs.requestIntervalSec": 5, "streams_publishes": {"perf3gpp": {"type": "kafka", "aaf_credentials": {"username": "admin", "password": "admin_secret"}, "kafka_info": {"bootstrap_servers": "message-router-kafka:9092", "topic_name": "HV_VES_PERF3GPP_SSL"}}}, "security.keys.keyStoreFile": "/tmp/server.p12", "security.keys.trustStorePasswordFile": "/dev/null", "security.keys.keyStorePasswordFile": "/dev/null"}
16 ${HVVES_CONFIG}     {"security.sslDisable": false, "logLevel": "INFO", "security.keys.trustStoreFile": "/etc/ves-hv/ssl/trust.jks", "server.listenPort": 6061, "server.idleTimeoutSec": 300, "cbs.requestIntervalSec": 5, "streams_publishes": {"perf3gpp": {"type": "kafka", "aaf_credentials": {"username": "admin", "password": "admin_secret"}, "kafka_info": {"bootstrap_servers": "message-router-kafka:9092", "topic_name": "HV_VES_PERF3GPP"}}}, "security.keys.keyStoreFile": "/etc/ves-hv/ssl/cert.jks", "security.keys.trustStorePasswordFile": "/etc/ves-hv/ssl/trust.pass", "security.keys.keyStorePasswordFile": "/etc/ves-hv/ssl/jks.pass"}
17 ${CA_CERT}    /tmp/ca.pem
18 ${CLIENT_CERT}    /tmp/client.pem
19 ${CLIENT_KEY}    /tmp/client.key
20
21 *** Keywords ***
22 Check Message Router Api
23     [Documentation]    Checks message via message router API.
24     [Arguments]    ${message_router}    ${message_router_port}    ${topic}
25     ${session}=    Create Session   session   http://${message_router}:${message_router_port}/events
26     ${resp}=   Get Request   session   /${topic}/1/1
27     Run Keyword If    400 <= ${resp.status_code} < 500    Log    Topic ${topic} does not exist.
28     Run Keyword If    200 <= ${resp.status_code} < 300    Log    Topic ${topic} exists.
29
30 Check If Topic Exists
31     [Documentation]      Checks if specific topic exists on kafka.
32     [Arguments]      ${message_router}      ${message_router_port}      ${topic}
33     ${session}=    Create Session   session   http://${message_router}:${message_router_port}/topics
34     ${resp}=   Get Request   session   /
35     ${value}=    Catenate    ${resp.json()['topics']}
36     Should Contain    ${value}    ${topic}
37
38 Send Message
39     [Documentation]     Sends message to HV-VES over TCP.
40     [Arguments]     ${hvves_server_ip}     ${hvves_server_port}
41     ${msg}=    Convert To Bytes     ${HVVES_MESSAGE}
42     Send Binary Data    ${hvves_server_ip}    ${hvves_server_port}    ${msg}
43
44 Send Message Over Ssl
45     [Documentation]     Sends message to HV-VES over TCP wih SSL enabled.
46     [Arguments]     ${hvves_server_ip}     ${hvves_server_port}
47     ${msg}=    Convert To Bytes     ${HVVES_MESSAGE}
48     Send Binary Data    ${hvves_server_ip}    ${hvves_server_port}    ${msg}    ${TRUE}    ${TRUE}    ${CA_CERT}    ${CLIENT_CERT}    ${CLIENT_KEY}
49
50 Decode Last Message From Topic
51     [Documentation]     Decode last message from Kafka topic.
52     [Arguments]     ${kafka_server}     ${kafka_port}     ${kafka_topic}    ${username}    ${password}
53     Connect    kafka    ${kafka_server}:${kafka_port}    ${username}    ${password}
54     ${msg}=     Consume    kafka    ${kafka_topic}
55     [Return]    ${msg}
56
57 Mode
58     [Documentation]     Changes HV-VES config.
59     [Arguments]     ${config}
60     ${resp}=    Run Consul Put Request      /v1/kv/dcae-hv-ves-collector?dc=dc1     ${config}
61     Should Be Equal As Strings      ${resp.status_code}     200
62     Sleep   10s