Merge "Remove the dependency on the MSB"
[integration.git] / test / csit / tests / music / music-suite / music-test.robot
1 *** Settings ***
2 Library       OperatingSystem
3 Library       RequestsLibrary
4 Library       json
5
6 *** Variables ***
7 ${MESSAGE}    {"ping": "ok"}
8 ${BASIC}    Basic
9 ${AUTHVALUE}    bXVzaWM6bXVzaWM=
10 ${Authorization}    ${BASIC} ${AUTHVALUE}
11
12 #global variables
13 ${generatedAID}
14
15 *** Test Cases ***
16 Check Cassandra Docker Container
17     [Documentation]    It checks cassandra docker container is running
18     ${rc}    ${output}=    Run and Return RC and Output    docker ps
19     Log To Console              *********************
20     Log To Console              retrurn_code = ${rc}
21     Log To Console              output = ${output}
22     Should Be Equal As Integers    ${rc}    0
23     Should Contain    ${output}    music-db
24
25 Check Zookeeper Docker Container
26     [Documentation]    It checks zookeeper docker container is running
27     ${rc}    ${output}=    Run and Return RC and Output    docker ps
28     Log To Console              *********************
29     Log To Console              retrurn_code = ${rc}
30     Log To Console              output = ${output}
31     Should Be Equal As Integers    ${rc}    0
32     Should Contain    ${output}    music-zk
33
34 Check Tomcat Docker Container
35     [Documentation]    It checks tomcat docker container is running
36     ${rc}    ${output}=    Run and Return RC and Output    docker ps
37     Log To Console              *********************
38     Log To Console              retrurn_code = ${rc}
39     Log To Console              output = ${output}
40     Should Be Equal As Integers    ${rc}    0
41     Should Contain    ${output}    music-tomcat
42
43 Check Music War Docker Container
44     [Documentation]    It checks music.war docker container is running
45     ${rc}    ${output}=    Run and Return RC and Output    docker ps
46     Log To Console              *********************
47     Log To Console              retrurn_code = ${rc}
48     Log To Console              output = ${output}
49     Should Be Equal As Integers    ${rc}    0
50     Should Contain    ${output}    music-war
51
52 Get Music Version
53     [Documentation]    It sends a REST GET request to retrieve the Music.war version
54     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
55     &{headers}=      Create Dictionary    Content-Type=application/json  Accept=application/json 
56     ${resp}=         Get Request        musicaas   /MUSIC/rest/v2/version     headers=${headers}
57     Log To Console              *********************
58     Log To Console              response = ${resp}
59     Log To Console              body = ${resp.text}
60     Should Be Equal As Integers    ${resp.status_code}    200
61
62 Music AddOnBoarding
63     [Documentation]    It sends a REST POST request to Music to Onboard a new application
64     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
65     ${data}=         Get Binary File     ${CURDIR}${/}data${/}onboard.json
66     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   Content-Type=application/json  Accept=application/json
67     ${resp}=         Post Request        musicaas   /MUSIC/rest/v2/admin/onboardAppWithMusic    data=${data}    headers=${headers}
68     Log To Console              *********************
69     Log To Console              response = ${resp}
70     Log To Console              body = ${resp.text}
71     ${response_json}    json.loads    ${resp.content}
72     ${generatedAID}=    Convert To String      ${response_json['Generated AID']}
73     Set Global Variable     ${generatedAID}
74     Log To Console              generatedAID = ${generatedAID}
75     Should Be Equal As Integers    ${resp.status_code}    200
76
77 Music CreateKeyspace
78     [Documentation]    It sends a REST POST request to Music to create a new keyspace in Cassandra
79     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
80     ${data}=         Get Binary File     ${CURDIR}${/}data${/}createkeyspace.json
81     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json  Accept=application/json
82     ${resp}=         Post Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace    data=${data}    headers=${headers}
83     Log To Console              *********************
84     Log To Console              response = ${resp}
85     Log To Console              body = ${resp.text}
86     Should Be Equal As Integers    ${resp.status_code}    200
87
88 Music CreateTable
89     [Documentation]    It sends a REST POST request to Music to create a new Table in Cassandra
90     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
91     ${data}=         Get Binary File     ${CURDIR}${/}data${/}createtable.json
92     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json  Accept=application/json
93     ${resp}=         Post Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable    data=${data}    headers=${headers}
94     Log To Console              *********************
95     Log To Console              response = ${resp}
96     Log To Console              body = ${resp.text}
97     Should Be Equal As Integers    ${resp.status_code}    200
98
99 Music InsertRow
100     [Documentation]    It sends a REST POST request to Music to create a new row in Cassandra
101     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
102     ${data}=         Get Binary File     ${CURDIR}${/}data${/}insertrow_eventual.json
103     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json  Accept=application/json
104     ${resp}=         Post Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows/?row=emp1   data=${data}    headers=${headers}
105     Log To Console              *********************
106     Log To Console              response = ${resp}
107     Log To Console              body = ${resp.text}
108     Should Be Equal As Integers    ${resp.status_code}    200
109
110 Music ReadRowJustInserted
111     [Documentation]    It sends a REST GET request to Music to Read the row just inserted in Cassandra
112     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
113     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json  Accept=application/json
114     ${resp}=         Get Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1   headers=${headers}
115     Log To Console              *********************
116     Log To Console              response = ${resp}
117     Log To Console              body = ${resp.text}
118     Should Be Equal As Integers    ${resp.status_code}    200
119
120 Music UpdateRowInAtomicWay
121     [Documentation]    It sends a REST PUT request to Music to create a new row in Cassandra
122     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
123     ${data}=         Get Binary File     ${CURDIR}${/}data${/}updaterow_atomic.json
124     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json  Accept=application/json
125     ${resp}=         Put Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1   data=${data}    headers=${headers}
126     Log To Console              *********************
127     Log To Console              response = ${resp}
128     Log To Console              body = ${resp.text}
129     Should Be Equal As Integers    ${resp.status_code}    200
130
131 Music ReadRowAfterUpdate
132     [Documentation]    It sends a REST GET request to Music to Read the row just inserted in Cassandra
133     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
134     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json  Accept=application/json
135     ${resp}=         Get Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1   headers=${headers}
136     Log To Console              *********************
137     Log To Console              response = ${resp}
138     Log To Console              body = ${resp.text}
139     Should Be Equal As Integers    ${resp.status_code}    200
140
141 Music DeleteRow
142     [Documentation]    It sends a REST DELETE request to Music to delete a row in Cassandra
143     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
144     ${data}=         Get Binary File     ${CURDIR}${/}data${/}deleterow_eventual.json
145     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json  Accept=application/json
146     ${resp}=         Delete Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable/rows?name=emp1   data=${data}    headers=${headers}
147     Log To Console              *********************
148     Log To Console              response = ${resp}
149     Log To Console              body = ${resp.text}
150     Should Be Equal As Integers    ${resp.status_code}    200
151
152 Music DropTable
153     [Documentation]    It sends a REST Delete request to Music to drop one existing Table in Cassandra
154     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
155     ${data}=         Get Binary File     ${CURDIR}${/}data${/}droptable.json
156     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json   Accept=application/json
157     ${resp}=         Delete Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace/tables/MusicOnapTable    data=${data}    headers=${headers}
158     Log To Console              *********************
159     Log To Console              response = ${resp}
160     Log To Console              body = ${resp.text}
161     Should Be Equal As Integers    ${resp.status_code}    200
162
163 Music DropKeyspace
164     [Documentation]    It sends a REST DELETE request to Music to drop one existing keyspace in Cassandra
165     Create Session   musicaas            ${MUSIC_HOSTNAME}:${MUSIC_PORT}
166     ${data}=         Get Binary File     ${CURDIR}${/}data${/}dropkeyspace.json
167     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json   Accept=application/json
168     ${resp}=         Delete Request        musicaas   /MUSIC/rest/v2/keyspaces/MusicOnapKeyspace    data=${data}    headers=${headers}
169     Log To Console              *********************
170     Log To Console              response = ${resp}
171     Log To Console              body = ${resp.text}
172     Should Be Equal As Integers    ${resp.status_code}    200
173
174
175 Music DeleteOnBoarding
176     [Documentation]    It sends a REST DELETE request to Music to remove a previosly onboarded application
177     Create Session   musicaas             ${MUSIC_HOSTNAME}:${MUSIC_PORT}
178     ${data}=         Get Binary File     ${CURDIR}${/}data${/}onboard.json
179     &{headers}=      Create Dictionary    ns=lb7254    Authorization=${Authorization}   aid=${generatedAID}   Content-Type=application/json   Accept=application/json
180     ${resp}=         Delete Request        musicaas   /MUSIC/rest/v2/admin/onboardAppWithMusic    data=${data}    headers=${headers}
181     Log To Console              *********************
182     Log To Console              response = ${resp}
183     Log To Console              body = ${resp.text}
184     Should Be Equal As Integers    ${resp.status_code}    200
185
186
187 *** Keywords ***
188