aboutsummaryrefslogtreecommitdiffstats
path: root/tests/dmaap-buscontroller/with_dr/test1.robot
blob: a3aef42b8ae4573d8cb9822db16cda3b90cda5a3 (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
*** 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}
${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} }
${FEED1_DATA}  { "feedName":"feed1", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" }
${FEED2_DATA}  { "feedName":"feed2", "feedVersion": "csit", "feedDescription":"generated for CSIT", "owner":"dgl", "asprClassification": "unclassified" }
${PUB2_DATA}   { "dcaeLocationName": "${LOC}", "username": "pub2", "userpwd": "topSecret123", "feedId": "2" }
${SUB2_DATA}   { "dcaeLocationName": "${LOC}", "username": "sub2", "userpwd": "someSecret123", "deliveryURL": "https://${DMAAPBC_IP}:8443/webapi/noURI", "feedId": "2" }
${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-441c1)
    [Documentation]        Create Feed w no clients POST ${DBC_URI}/feeds endpoint
    ${resp}=         PostCall    ${DBC_URL}/feeds    ${FEED1_DATA}
    Should Be Equal As Integers  ${resp.status_code}  200   

(DMAAP-441c2)
    [Documentation]        Create Feed w clients POST ${DBC_URI}/feeds endpoint
    ${resp}=         PostCall    ${DBC_URL}/feeds    ${FEED2_DATA}
    Should Be Equal As Integers  ${resp.status_code}  200   

(DMAAP-441c3)
    [Documentation]        Add Publisher to existing feed
    ${resp}=         PostCall    ${DBC_URL}/dr_pubs    ${PUB2_DATA}
    Should Be Equal As Integers  ${resp.status_code}  201   
    ${tmp}=          Get Json Value      ${resp.text}           /pubId
    ${tmp}=          Remove String       ${tmp}         \"
    Set Suite Variable          ${pubId}    ${tmp}

(DMAAP-441c4)
    [Documentation]        Add Subscriber to existing feed
    ${resp}=         PostCall    ${DBC_URL}/dr_subs    ${SUB2_DATA}
    Should Be Equal As Integers  ${resp.status_code}  201   
    ${tmp}=          Get Json Value      ${resp.text}           /subId
    ${tmp}=          Remove String       ${tmp}         \"
    Set Suite Variable          ${subId}    ${tmp}

(DMAAP-443)
    [Documentation]        List existing feeds
    Create Session     get          ${DBC_URL}
    ${resp}=         Get Request    get       /feeds
    Should Be Equal As Integers  ${resp.status_code}  200

(DMAAP-444)
    [Documentation]        Delete existing subscriber
    ${resp}=         DelCall    ${DBC_URL}/dr_subs/${subId}
    Should Be Equal As Integers  ${resp.status_code}  204

(DMAAP-445)
    [Documentation]        Delete existing publisher
    ${resp}=         DelCall    ${DBC_URL}/dr_pubs/${pubId}
    Should Be Equal As Integers  ${resp.status_code}  204

#(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}