@@ -248,11 +248,26 @@ def test_custom_role_definition_scenario(self):
248248 self .kwargs .update ({
249249 'sub' : subscription_id ,
250250 'role' : role_name ,
251- 'template' : temp_file .replace ('\\ ' , '\\ \\ ' )
251+ 'template' : temp_file .replace ('\\ ' , '\\ \\ ' ),
252+ 'scope' : "/subscriptions/{}" .format (subscription_id )
252253 })
253254
254255 # a few 'sleep' here to handle server replicate latency. It is no-op under playback
255256 with mock .patch ('azure.cli.command_modules.role.custom._gen_guid' , side_effect = self .create_guid ):
257+ # Operate on name (GUID)
258+ role = self .cmd ('role definition create --role-definition {template}' , checks = [
259+ self .check ('permissions[0].dataActions[0]' ,
260+ 'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/*' ),
261+ self .check ('permissions[0].notDataActions[0]' ,
262+ 'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write' ),
263+ ]).get_output_in_json ()
264+ self .kwargs ['name' ] = role ['name' ]
265+ retry (lambda : self .cmd ('role definition show --scope {scope} --name {name}' ,
266+ checks = self .check ('[0].roleName' , '{role}' ))).get_output_in_json ()
267+ retry (lambda : self .cmd ('role definition delete -n {name}' , checks = self .is_empty ()))
268+ retry (lambda : self .cmd ('role definition show -n {name}' , checks = self .is_empty ()))
269+
270+ # Operate on roleName
256271 self .cmd ('role definition create --role-definition {template}' , checks = [
257272 self .check ('permissions[0].dataActions[0]' , 'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/*' ),
258273 self .check ('permissions[0].notDataActions[0]' , 'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write' ),
0 commit comments