@@ -332,6 +332,7 @@ def test_role_create_no_options(self):
332332 kwargs = {
333333 'domain' : None ,
334334 'name' : identity_fakes .role_name ,
335+ 'description' : None ,
335336 }
336337
337338 # RoleManager.create(name=, domain=)
@@ -375,6 +376,7 @@ def test_role_create_with_domain(self):
375376 kwargs = {
376377 'domain' : identity_fakes .domain_id ,
377378 'name' : identity_fakes .ROLE_2 ['name' ],
379+ 'description' : None ,
378380 }
379381
380382 # RoleManager.create(name=, domain=)
@@ -391,6 +393,49 @@ def test_role_create_with_domain(self):
391393 )
392394 self .assertEqual (datalist , data )
393395
396+ def test_role_create_with_description (self ):
397+
398+ self .roles_mock .create .return_value = fakes .FakeResource (
399+ None ,
400+ copy .deepcopy (identity_fakes .ROLE_2 ),
401+ loaded = True ,
402+ )
403+ arglist = [
404+ '--description' , identity_fakes .role_description ,
405+ identity_fakes .ROLE_2 ['name' ],
406+ ]
407+ verifylist = [
408+ ('description' , identity_fakes .role_description ),
409+ ('name' , identity_fakes .ROLE_2 ['name' ]),
410+ ]
411+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
412+
413+ # In base command class ShowOne in cliff, abstract method take_action()
414+ # returns a two-part tuple with a tuple of column names and a tuple of
415+ # data to be shown.
416+ columns , data = self .cmd .take_action (parsed_args )
417+
418+ # Set expected values
419+ kwargs = {
420+ 'description' : identity_fakes .role_description ,
421+ 'name' : identity_fakes .ROLE_2 ['name' ],
422+ 'domain' : None ,
423+ }
424+
425+ # RoleManager.create(name=, domain=)
426+ self .roles_mock .create .assert_called_with (
427+ ** kwargs
428+ )
429+
430+ collist = ('domain' , 'id' , 'name' )
431+ self .assertEqual (collist , columns )
432+ datalist = (
433+ 'd1' ,
434+ identity_fakes .ROLE_2 ['id' ],
435+ identity_fakes .ROLE_2 ['name' ],
436+ )
437+ self .assertEqual (datalist , data )
438+
394439
395440class TestRoleDelete (TestRole ):
396441
@@ -825,6 +870,7 @@ def test_role_set_no_options(self):
825870 # Set expected values
826871 kwargs = {
827872 'name' : 'over' ,
873+ 'description' : None ,
828874 }
829875 # RoleManager.update(role, name=)
830876 self .roles_mock .update .assert_called_with (
@@ -856,6 +902,39 @@ def test_role_set_domain_role(self):
856902 # Set expected values
857903 kwargs = {
858904 'name' : 'over' ,
905+ 'description' : None ,
906+ }
907+ # RoleManager.update(role, name=)
908+ self .roles_mock .update .assert_called_with (
909+ identity_fakes .ROLE_2 ['id' ],
910+ ** kwargs
911+ )
912+ self .assertIsNone (result )
913+
914+ def test_role_set_description (self ):
915+ self .roles_mock .get .return_value = fakes .FakeResource (
916+ None ,
917+ copy .deepcopy (identity_fakes .ROLE_2 ),
918+ loaded = True ,
919+ )
920+ arglist = [
921+ '--name' , 'over' ,
922+ '--description' , identity_fakes .role_description ,
923+ identity_fakes .ROLE_2 ['name' ],
924+ ]
925+ verifylist = [
926+ ('name' , 'over' ),
927+ ('description' , identity_fakes .role_description ),
928+ ('role' , identity_fakes .ROLE_2 ['name' ]),
929+ ]
930+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
931+
932+ result = self .cmd .take_action (parsed_args )
933+
934+ # Set expected values
935+ kwargs = {
936+ 'name' : 'over' ,
937+ 'description' : identity_fakes .role_description ,
859938 }
860939 # RoleManager.update(role, name=)
861940 self .roles_mock .update .assert_called_with (
0 commit comments