@@ -1035,3 +1035,30 @@ def test_volume_unset_image_property(self):
10351035
10361036 self .volumes_mock .delete_image_metadata .assert_called_with (
10371037 self .new_volume .id , parsed_args_unset .image_property )
1038+
1039+ def test_volume_unset_image_property_fail (self ):
1040+ self .volumes_mock .delete_image_metadata .side_effect = (
1041+ exceptions .CommandError ())
1042+ arglist = [
1043+ '--image-property' , 'Alpha' ,
1044+ '--property' , 'Beta' ,
1045+ self .new_volume .id ,
1046+ ]
1047+ verifylist = [
1048+ ('image_property' , ['Alpha' ]),
1049+ ('property' , ['Beta' ]),
1050+ ('volume' , self .new_volume .id ),
1051+ ]
1052+ parsed_args = self .check_parser (
1053+ self .cmd_unset , arglist , verifylist )
1054+
1055+ try :
1056+ self .cmd_unset .take_action (parsed_args )
1057+ self .fail ('CommandError should be raised.' )
1058+ except exceptions .CommandError as e :
1059+ self .assertEqual ('One or more of the unset operations failed' ,
1060+ str (e ))
1061+ self .volumes_mock .delete_image_metadata .assert_called_with (
1062+ self .new_volume .id , parsed_args .image_property )
1063+ self .volumes_mock .delete_metadata .assert_called_with (
1064+ self .new_volume .id , parsed_args .property )
0 commit comments