summaryrefslogtreecommitdiffstats
path: root/csit/tests/with_dr/test1.robot
blob: 119e06b844ea543b708a0b33c135aa947c4b5f1f (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
*** Settings ***
Library           Collections
Library           OperatingSystem
Library           RequestsLibrary

*** Variables ***
${DBC_URL}     http://${DMAAPBC_IP}:8080/webapi
${LOC}          csit-sanfrancisco
${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" }


*** Test Cases ***
(DMAAP-441c1)
    [Documentation]        Create Feed w no clients POST webapi/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 webapi/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
    ${JSON}=         Evaluate      json.loads(r"""${resp.content}""", strict=False)
    ${result}=       Set Variable  ${JSON['pubId']}
    Set Suite Variable             ${pubId}    ${result}

(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
    ${JSON}=         Evaluate      json.loads(r"""${resp.content}""", strict=False)
    ${result}=       Set Variable  ${JSON['subId']}
    Set Suite Variable             ${subId}    ${result}

(DMAAP-443)
    [Documentation]        List existing feeds
    ${resp}=       Evaluate    requests.get('${DBC_URL}/feeds', verify=False)    requests
    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


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