summaryrefslogtreecommitdiffstats
path: root/tests/dmaap-buscontroller/single-mr-suite/test1.robot
blob: d68b9ed1756d4da83a43c77dd92cfcffd06d0c2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
*** 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}