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