blob: bbf717a2a1830234358f17966139a6cb1d7423cd [file] [log] [blame]
yadavmr07847332019-11-28 12:01:48 +05301##
2# Copyright 2019 Tech Mahindra Limited
3#
4# All Rights Reserved.
5#
6# Licensed under the Apache License, Version 2.0 (the "License"); you may
7# not use this file except in compliance with the License. You may obtain
8# a copy of the License at
9#
10# http://www.apache.org/licenses/LICENSE-2.0
11#
12# Unless required by applicable law or agreed to in writing, software
13# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15# License for the specific language governing permissions and limitations
16# under the License.
17##
18
19## Change log:
20# 1. Jayant Madavi, Mrityunjay Yadav : MY00514913@techmahindra.com : 21-nov-2019
21##
22
23*** Keywords ***
24Configure NBI For RBAC
25 ${rc} ${stdout}= Run and Return RC and Output docker service update osm_nbi --force --env-add OSMNBI_AUTHENTICATION_BACKEND=keystone --env-add OSMNBI_AUTHENTICATION_AUTH_URL=keystone --env-add OSMNBI_AUTHENTICATION_AUTH_PORT=5000 --env-add OSMNBI_AUTHENTICATION_USER_DOMAIN_NAME=default --env-add OSMNBI_AUTHENTICATION_PROJECT_DOMAIN_NAME=default --env-add OSMNBI_AUTHENTICATION_SERVICE_USERNAME=nbi --env-add OSMNBI_AUTHENTICATION_SERVICE_PROJECT=service
26 Should Be Equal As Integers ${rc} ${success_return_code}
27 Sleep 30s Wait for NBI service to be update
28
29
30Create User
31 [Arguments] ${user} ${password}
32
33 ${rc} ${stdout}= Run and Return RC and Output osm user-create ${user} --password ${password}
34 Should Be Equal As Integers ${rc} ${success_return_code}
35 log ${stdout}
36 [Return] ${stdout}
37
38
39List User
40 ${rc} ${stdout}= Run and Return RC and Output osm user-list
41 Should Be Equal As Integers ${rc} ${success_return_code}
42 log ${stdout}
43 [Return] ${stdout}
44
45
46List User And Check For The Created User
47 [Arguments] ${user}
48 ${user list}= List User
49 Should Contain ${user list} ${user}
50
51
52Get User Info By Name
53 [Arguments] ${user_name}
54 ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user_name}
55 Should Be Equal As Integers ${rc} ${success_return_code}
56 log ${stdout}
57
58
59Get User Info By ID
60 [Arguments] ${user_id}
61 ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user_id}
62 Should Be Equal As Integers ${rc} ${success_return_code}
63 log ${stdout}
64
65
66Update User
67 [Arguments] ${user} ${field} ${value}
68 ${rc} ${stdout}= Run and Return RC and Output osm user-update ${field} ${value} ${user}
69 Should Be Equal As Integers ${rc} ${success_return_code}
70 log ${stdout}
71
72
73Update User And Verify Info
74 [Arguments] ${user} @{args}
75 FOR ${arg} IN @{args}
76 ${fields}= Get Dictionary Items ${arg}
77 Update User ${user} ${fields[0]} ${fields[1]}
78 END
79 ${rc} ${stdout}= Run and Return RC and Output osm user-show ${user}
80 Should Be Equal As Integers ${rc} ${success_return_code}
81 log ${stdout}
82
83
84Login With User And Perform Operation
85 [Arguments] ${user} ${password} ${project}
86 ${rc} ${stdout}= Run and Return RC and Output export OSM_USER=${user}
87 Should Be Equal As Integers ${rc} ${success_return_code}
88 ${rc} ${stdout}= Run and Return RC and Output export OSM_PROJECT=${project}
89 Should Be Equal As Integers ${rc} ${success_return_code}
90 ${rc} ${stdout}= Run and Return RC and Output export OSM_PASSWORD=${password}
91 Should Be Equal As Integers ${rc} ${success_return_code}
92 ${rc} ${stdout}= Run and Return RC and Output osm ns-list
93 Should Be Equal As Integers ${rc} ${success_return_code}
94 log ${stdout}
95 Logout and Login With Admin
96
97
98Logout and Login With Admin
99 ${rc} ${stdout}= Run and Return RC and Output export OSM_USER=admin
100 Should Be Equal As Integers ${rc} ${success_return_code}
101 ${rc} ${stdout}= Run and Return RC and Output export OSM_PASSWORD=admin
102 Should Be Equal As Integers ${rc} ${success_return_code}
103 ${rc} ${stdout}= Run and Return RC and Output osm ns-list
104 Should Be Equal As Integers ${rc} ${success_return_code}
105
106
107Delete User
108 [Arguments] ${user}
109 ${rc} ${stdout}= Run and Return RC and Output osm user-delete ${user}
110 Should Be Equal As Integers ${rc} ${success_return_code}
111
112
113Delete User And Check
114 [Arguments] ${user}
115 Delete User ${user}
116 ${rc} ${stdout}= Run and Return RC and Output osm user-list
117 Should Be Equal As Integers ${rc} ${success_return_code}
118 Should Not Contain ${stdout} ${user}
119
120
121Create Project
122 [Arguments] ${project}
123 ${rc} ${stdout}= Run and Return RC and Output osm project-create ${project}
124 Should Be Equal As Integers ${rc} ${success_return_code}
125 log ${stdout}
126 [Return] ${stdout}
127
128
129List Project
130 ${rc} ${stdout}= Run and Return RC and Output osm project-list
131 Should Be Equal As Integers ${rc} ${success_return_code}
132 log ${stdout}
133 [Return] ${stdout}
134
135
136List Project And Verify
137 [Arguments] ${project}
138 ${project list}= List Project
139 Should Contain ${project list} ${project}
140
141
142Get Project Info By Name
143 [Arguments] ${project_name}
144 ${rc} ${stdout}= Run and Return RC and Output osm project-show ${project_name}
145 Should Be Equal As Integers ${rc} ${success_return_code}
146 log ${stdout}
147 [Return] ${stdout}
148
149
150Get Project Info By ID
151 [Arguments] ${project_id}
152 ${rc} ${stdout}= Run and Return RC and Output osm project-show ${project_id}
153 Should Be Equal As Integers ${rc} ${success_return_code}
154 log ${stdout}
155 [Return] ${stdout}
156
157
158Update Project
159 [Arguments] ${project} ${feild} ${value}
160 ${rc} ${stdout}= Run and Return RC and Output osm project-update ${feild} ${value} ${project}
161 Should Be Equal As Integers ${rc} ${success_return_code}
162 log ${stdout}
163
164
165Update Project Name And Verify
166 [Arguments] ${old_name} ${new_name}
167 Update Project ${old_name} --name ${new_name}
168 List Project And Verify ${new_name}
169
170
171Delete Project
172 [Arguments] ${project}
173 ${rc} ${stdout}= Run and Return RC and Output osm project-delete ${project}
174 Should Be Equal As Integers ${rc} ${success_return_code}
175
176
177Delete Project And Verify
178 [Arguments] ${project}
179 Delete Project ${project}
180 ${project_list}= List Project
181 Should Not Contain ${project_list} ${project}
182
183
184Create Role
185 [Arguments] ${role}
186 ${rc} ${stdout}= Run and Return RC and Output osm role-create ${role}
187 Should Be Equal As Integers ${rc} ${success_return_code}
188 log ${stdout}
189 [Return] ${stdout}
190
191
192List Roles
193 ${rc} ${stdout}= Run and Return RC and Output osm role-list
194 Should Be Equal As Integers ${rc} ${success_return_code}
195 log ${stdout}
196 [Return] ${stdout}
197
198
199List Roles And Verify
200 [Arguments] ${role}
201 ${role_list}= List Roles
202 Should Contain ${role_list} ${role}
203
204
205Get Role Info By Name
206 [Arguments] ${role}
207 ${rc} ${stdout}= Run and Return RC and Output osm role-show ${role}
208 Should Be Equal As Integers ${rc} ${success_return_code}
209 log ${stdout}
210 [Return] ${stdout}
211
212
213Get Role Info By ID
214 [Arguments] ${role_id}
215 ${rc} ${stdout}= Run and Return RC and Output osm role-show ${role_id}
216 Should Be Equal As Integers ${rc} ${success_return_code}
217 log ${stdout}
218 [Return] ${stdout}
219
220
221Update Role
222 [Arguments] ${role} ${feild} ${value}
223 ${rc} ${stdout}= Run and Return RC and Output osm role-update ${feild} ${value} ${role}
224 Should Be Equal As Integers ${rc} ${success_return_code}
225 log ${stdout}
226
227
228Add Role And Verify
229 [Arguments] ${role} ${role_to_add}
230 Update Role ${role} --add ${role_to_add}
231 ${role_info}= Get Role Info By Name ${role}
232# Should Contain ${role_info} ${role_to_add}
233
234
235Delete Role
236 [Arguments] ${role}
237 ${rc} ${stdout}= Run and Return RC and Output osm role-delete ${role}
238 Should Be Equal As Integers ${rc} ${success_return_code}
239
240
241Delete Role And Verify
242 [Arguments] ${role}
243 Delete Role ${role}
244 ${role_list}= List Roles
245 Should Not Contain ${role_list} ${role}