Skip to content

Commit afcce59

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Add functional tests for role assignment list"
2 parents bc98e21 + a5a6ec2 commit afcce59

File tree

1 file changed

+174
-0
lines changed

1 file changed

+174
-0
lines changed

openstackclient/tests/functional/identity/v3/test_role_assignment.py

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,47 @@ def test_role_assignment_list_group(self):
6262
items = self.parse_listing(raw_output)
6363
self.assert_table_structure(items, self.ROLE_ASSIGNMENT_LIST_HEADERS)
6464

65+
def test_role_assignment_list_group_domain(self):
66+
domain_name_A = self._create_dummy_domain()
67+
domain_name_B = self._create_dummy_domain()
68+
role_name = self._create_dummy_role()
69+
group_name = 'group_name'
70+
self.openstack(f'group create --domain {domain_name_A} {group_name}')
71+
self.addCleanup(
72+
self.openstack,
73+
f'group delete --domain {domain_name_A} {group_name}',
74+
)
75+
self.openstack(f'group create --domain {domain_name_B} {group_name}')
76+
self.addCleanup(
77+
self.openstack,
78+
f'group delete --domain {domain_name_B} {group_name}',
79+
)
80+
raw_output = self.openstack(
81+
'role add '
82+
f'--project {self.project_name} '
83+
f'--group {group_name} --group-domain {domain_name_A} '
84+
f'{role_name}'
85+
)
86+
self.addCleanup(
87+
self.openstack,
88+
'role remove '
89+
f'--project {self.project_name} '
90+
f'--group {group_name} --group-domain {domain_name_A} '
91+
f'{role_name}',
92+
)
93+
self.assertEqual('', raw_output.strip())
94+
raw_output = self.openstack(
95+
f'role assignment list '
96+
f'--group {group_name} --group-domain {domain_name_A} '
97+
)
98+
items = self.parse_listing(raw_output)
99+
self.assert_table_structure(items, self.ROLE_ASSIGNMENT_LIST_HEADERS)
100+
raw_output = self.openstack(
101+
f'role assignment list '
102+
f'--group {group_name} --group-domain {domain_name_B} '
103+
)
104+
self.assertEqual('', raw_output.strip())
105+
65106
def test_role_assignment_list_domain(self):
66107
role_name = self._create_dummy_role()
67108
username = self._create_dummy_user()
@@ -85,6 +126,89 @@ def test_role_assignment_list_domain(self):
85126
items = self.parse_listing(raw_output)
86127
self.assert_table_structure(items, self.ROLE_ASSIGNMENT_LIST_HEADERS)
87128

129+
def test_role_assignment_list_user_domain(self):
130+
domain_name_A = self._create_dummy_domain()
131+
domain_name_B = self._create_dummy_domain()
132+
role_name = self._create_dummy_role()
133+
username = 'username'
134+
self.openstack(f'user create --domain {domain_name_A} {username}')
135+
self.addCleanup(
136+
self.openstack, f'user delete --domain {domain_name_A} {username}'
137+
)
138+
self.openstack(f'user create --domain {domain_name_B} {username}')
139+
self.addCleanup(
140+
self.openstack, f'user delete --domain {domain_name_B} {username}'
141+
)
142+
raw_output = self.openstack(
143+
'role add '
144+
f'--project {self.project_name} '
145+
f'--user {username} --user-domain {domain_name_A} '
146+
f'{role_name}'
147+
)
148+
self.addCleanup(
149+
self.openstack,
150+
'role remove '
151+
f'--project {self.project_name} '
152+
f'--user {username} --user-domain {domain_name_A} '
153+
f'{role_name}',
154+
)
155+
self.assertEqual('', raw_output.strip())
156+
raw_output = self.openstack(
157+
f'role assignment list '
158+
f'--user {username} --user-domain {domain_name_A} '
159+
)
160+
items = self.parse_listing(raw_output)
161+
self.assert_table_structure(items, self.ROLE_ASSIGNMENT_LIST_HEADERS)
162+
raw_output = self.openstack(
163+
f'role assignment list '
164+
f'--user {username} --user-domain {domain_name_B} '
165+
)
166+
self.assertEqual('', raw_output.strip())
167+
168+
def test_role_assignment_list_role_domain(self):
169+
domain_name_A = self._create_dummy_domain()
170+
domain_name_B = self._create_dummy_domain()
171+
role_name = 'role_name'
172+
username = 'username'
173+
self.openstack(f'role create --domain {domain_name_A} {role_name}')
174+
self.addCleanup(
175+
self.openstack, f'role delete --domain {domain_name_A} {role_name}'
176+
)
177+
self.openstack(f'role create --domain {domain_name_B} {role_name}')
178+
self.addCleanup(
179+
self.openstack, f'role delete --domain {domain_name_B} {role_name}'
180+
)
181+
self.openstack(f'user create --domain {domain_name_A} {username}')
182+
self.addCleanup(
183+
self.openstack, f'user delete --domain {domain_name_A} {username}'
184+
)
185+
raw_output = self.openstack(
186+
'role add '
187+
f'--user {username} --domain {domain_name_A} '
188+
f'--role-domain {domain_name_A} '
189+
f'{role_name}'
190+
)
191+
self.addCleanup(
192+
self.openstack,
193+
'role remove '
194+
f'--user {username} --domain {domain_name_A} '
195+
f'--role-domain {domain_name_A} '
196+
f'{role_name}',
197+
)
198+
self.assertEqual('', raw_output.strip())
199+
raw_output = self.openstack(
200+
f'role assignment list '
201+
f'--role {role_name} --role-domain {domain_name_A}'
202+
)
203+
items = self.parse_listing(raw_output)
204+
self.assert_table_structure(items, self.ROLE_ASSIGNMENT_LIST_HEADERS)
205+
raw_output = self.openstack(
206+
f'role assignment list '
207+
f'--role {role_name} --role-domain {domain_name_B}'
208+
)
209+
items = self.parse_listing(raw_output)
210+
self.assertEqual('', raw_output.strip())
211+
88212
def test_role_assignment_list_project(self):
89213
role_name = self._create_dummy_role()
90214
username = self._create_dummy_user()
@@ -108,6 +232,56 @@ def test_role_assignment_list_project(self):
108232
items = self.parse_listing(raw_output)
109233
self.assert_table_structure(items, self.ROLE_ASSIGNMENT_LIST_HEADERS)
110234

235+
def test_role_assignment_list_project_domain(self):
236+
domain_name_A = self._create_dummy_domain()
237+
domain_name_B = self._create_dummy_domain()
238+
role_name = self._create_dummy_role()
239+
project_name = 'project_name'
240+
username = 'username'
241+
self.openstack(
242+
f'project create --domain {domain_name_A} {project_name}'
243+
)
244+
self.addCleanup(
245+
self.openstack,
246+
f'project delete --domain {domain_name_A} {project_name}',
247+
)
248+
self.openstack(
249+
f'project create --domain {domain_name_B} {project_name}'
250+
)
251+
self.addCleanup(
252+
self.openstack,
253+
f'project delete --domain {domain_name_B} {project_name}',
254+
)
255+
self.openstack(f'user create --domain {domain_name_A} {username}')
256+
self.addCleanup(
257+
self.openstack, f'user delete --domain {domain_name_A} {username}'
258+
)
259+
raw_output = self.openstack(
260+
'role add '
261+
f'--project {project_name} --project-domain {domain_name_A} '
262+
f'--user {username} --user-domain {domain_name_A} '
263+
f'{role_name}'
264+
)
265+
self.addCleanup(
266+
self.openstack,
267+
'role remove '
268+
f'--project {project_name} --project-domain {domain_name_A} '
269+
f'--user {username} --user-domain {domain_name_A} '
270+
f'{role_name}',
271+
)
272+
self.assertEqual('', raw_output.strip())
273+
raw_output = self.openstack(
274+
f'role assignment list '
275+
f'--project {project_name} --project-domain {domain_name_A} '
276+
)
277+
items = self.parse_listing(raw_output)
278+
self.assert_table_structure(items, self.ROLE_ASSIGNMENT_LIST_HEADERS)
279+
raw_output = self.openstack(
280+
f'role assignment list '
281+
f'--project {project_name} --project-domain {domain_name_B} '
282+
)
283+
self.assertEqual('', raw_output.strip())
284+
111285
def test_role_assignment_list_effective(self):
112286
raw_output = self.openstack('role assignment list --effective')
113287
items = self.parse_listing(raw_output)

0 commit comments

Comments
 (0)