@@ -102,6 +102,40 @@ def setUp(self):
102102 # Get the command object to test
103103 self .cmd = role .AddRole (self .app , None )
104104
105+ def test_role_add_user_system (self ):
106+ arglist = [
107+ '--user' , identity_fakes .user_name ,
108+ '--system' , 'all' ,
109+ identity_fakes .role_name ,
110+ ]
111+ if self ._is_inheritance_testcase ():
112+ arglist .append ('--inherited' )
113+ verifylist = [
114+ ('user' , identity_fakes .user_name ),
115+ ('group' , None ),
116+ ('system' , 'all' ),
117+ ('domain' , None ),
118+ ('project' , None ),
119+ ('role' , identity_fakes .role_name ),
120+ ('inherited' , self ._is_inheritance_testcase ()),
121+ ]
122+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
123+
124+ result = self .cmd .take_action (parsed_args )
125+
126+ # Set expected values
127+ kwargs = {
128+ 'user' : identity_fakes .user_id ,
129+ 'system' : 'all' ,
130+ 'os_inherit_extension_inherited' : self ._is_inheritance_testcase (),
131+ }
132+ # RoleManager.grant(role, user=, group=, domain=, project=)
133+ self .roles_mock .grant .assert_called_with (
134+ identity_fakes .role_id ,
135+ ** kwargs
136+ )
137+ self .assertIsNone (result )
138+
105139 def test_role_add_user_domain (self ):
106140 arglist = [
107141 '--user' , identity_fakes .user_name ,
@@ -168,6 +202,40 @@ def test_role_add_user_project(self):
168202 )
169203 self .assertIsNone (result )
170204
205+ def test_role_add_group_system (self ):
206+ arglist = [
207+ '--group' , identity_fakes .group_name ,
208+ '--system' , 'all' ,
209+ identity_fakes .role_name ,
210+ ]
211+ if self ._is_inheritance_testcase ():
212+ arglist .append ('--inherited' )
213+ verifylist = [
214+ ('user' , None ),
215+ ('group' , identity_fakes .group_name ),
216+ ('system' , 'all' ),
217+ ('domain' , None ),
218+ ('project' , None ),
219+ ('role' , identity_fakes .role_name ),
220+ ('inherited' , self ._is_inheritance_testcase ()),
221+ ]
222+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
223+
224+ result = self .cmd .take_action (parsed_args )
225+
226+ # Set expected values
227+ kwargs = {
228+ 'group' : identity_fakes .group_id ,
229+ 'system' : 'all' ,
230+ 'os_inherit_extension_inherited' : self ._is_inheritance_testcase (),
231+ }
232+ # RoleManager.grant(role, user=, group=, domain=, project=)
233+ self .roles_mock .grant .assert_called_with (
234+ identity_fakes .role_id ,
235+ ** kwargs
236+ )
237+ self .assertIsNone (result )
238+
171239 def test_role_add_group_domain (self ):
172240 arglist = [
173241 '--group' , identity_fakes .group_name ,
@@ -744,6 +812,40 @@ def setUp(self):
744812 # Get the command object to test
745813 self .cmd = role .RemoveRole (self .app , None )
746814
815+ def test_role_remove_user_system (self ):
816+ arglist = [
817+ '--user' , identity_fakes .user_name ,
818+ '--system' , 'all' ,
819+ identity_fakes .role_name
820+ ]
821+ if self ._is_inheritance_testcase ():
822+ arglist .append ('--inherited' )
823+ verifylist = [
824+ ('user' , identity_fakes .user_name ),
825+ ('group' , None ),
826+ ('system' , 'all' ),
827+ ('domain' , None ),
828+ ('project' , None ),
829+ ('role' , identity_fakes .role_name ),
830+ ('inherited' , self ._is_inheritance_testcase ()),
831+ ]
832+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
833+
834+ result = self .cmd .take_action (parsed_args )
835+
836+ # Set expected values
837+ kwargs = {
838+ 'user' : identity_fakes .user_id ,
839+ 'system' : 'all' ,
840+ 'os_inherit_extension_inherited' : self ._is_inheritance_testcase (),
841+ }
842+ # RoleManager.revoke(role, user=, group=, domain=, project=)
843+ self .roles_mock .revoke .assert_called_with (
844+ identity_fakes .role_id ,
845+ ** kwargs
846+ )
847+ self .assertIsNone (result )
848+
747849 def test_role_remove_user_domain (self ):
748850 arglist = [
749851 '--user' , identity_fakes .user_name ,
@@ -810,6 +912,41 @@ def test_role_remove_user_project(self):
810912 )
811913 self .assertIsNone (result )
812914
915+ def test_role_remove_group_system (self ):
916+ arglist = [
917+ '--group' , identity_fakes .group_name ,
918+ '--system' , 'all' ,
919+ identity_fakes .role_name ,
920+ ]
921+ if self ._is_inheritance_testcase ():
922+ arglist .append ('--inherited' )
923+ verifylist = [
924+ ('user' , None ),
925+ ('group' , identity_fakes .group_name ),
926+ ('system' , 'all' ),
927+ ('domain' , None ),
928+ ('project' , None ),
929+ ('role' , identity_fakes .role_name ),
930+ ('role' , identity_fakes .role_name ),
931+ ('inherited' , self ._is_inheritance_testcase ()),
932+ ]
933+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
934+
935+ result = self .cmd .take_action (parsed_args )
936+
937+ # Set expected values
938+ kwargs = {
939+ 'group' : identity_fakes .group_id ,
940+ 'system' : 'all' ,
941+ 'os_inherit_extension_inherited' : self ._is_inheritance_testcase (),
942+ }
943+ # RoleManager.revoke(role, user=, group=, domain=, project=)
944+ self .roles_mock .revoke .assert_called_with (
945+ identity_fakes .role_id ,
946+ ** kwargs
947+ )
948+ self .assertIsNone (result )
949+
813950 def test_role_remove_group_domain (self ):
814951 arglist = [
815952 '--group' , identity_fakes .group_name ,
0 commit comments