@@ -844,8 +844,7 @@ def test_volume_set_size(self):
844844 )
845845 self .assertIsNone (result )
846846
847- @mock .patch .object (volume .LOG , 'error' )
848- def test_volume_set_size_smaller (self , mock_log_error ):
847+ def test_volume_set_size_smaller (self ):
849848 self ._volume .status = 'available'
850849 arglist = [
851850 '--size' , '1' ,
@@ -860,15 +859,11 @@ def test_volume_set_size_smaller(self, mock_log_error):
860859 ]
861860 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
862861
863- result = self .cmd .take_action (parsed_args )
864-
865- mock_log_error .assert_called_with ("New size must be greater "
866- "than %s GB" ,
867- self ._volume .size )
868- self .assertIsNone (result )
862+ self .assertRaises (exceptions .CommandError ,
863+ self .cmd .take_action ,
864+ parsed_args )
869865
870- @mock .patch .object (volume .LOG , 'error' )
871- def test_volume_set_size_not_available (self , mock_log_error ):
866+ def test_volume_set_size_not_available (self ):
872867 self ._volume .status = 'error'
873868 arglist = [
874869 '--size' , '130' ,
@@ -883,19 +878,18 @@ def test_volume_set_size_not_available(self, mock_log_error):
883878 ]
884879 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
885880
886- result = self .cmd .take_action (parsed_args )
887-
888- mock_log_error .assert_called_with ("Volume is in %s state, it must be "
889- "available before size can be "
890- "extended" , 'error' )
891- self .assertIsNone (result )
881+ self .assertRaises (exceptions .CommandError ,
882+ self .cmd .take_action ,
883+ parsed_args )
892884
893885 def test_volume_set_property (self ):
894886 arglist = [
895887 '--property' , 'myprop=myvalue' ,
896888 self ._volume .display_name ,
897889 ]
898890 verifylist = [
891+ ('read_only' , False ),
892+ ('read_write' , False ),
899893 ('name' , None ),
900894 ('description' , None ),
901895 ('size' , None ),
@@ -916,6 +910,7 @@ def test_volume_set_property(self):
916910 self ._volume .id ,
917911 metadata
918912 )
913+ self .volumes_mock .update_readonly_flag .assert_not_called ()
919914 self .assertIsNone (result )
920915
921916 def test_volume_set_bootable (self ):
@@ -943,6 +938,44 @@ def test_volume_set_bootable(self):
943938 self .volumes_mock .set_bootable .assert_called_with (
944939 self ._volume .id , verifylist [index ][0 ][1 ])
945940
941+ def test_volume_set_readonly (self ):
942+ arglist = [
943+ '--read-only' ,
944+ self ._volume .id
945+ ]
946+ verifylist = [
947+ ('read_only' , True ),
948+ ('read_write' , False ),
949+ ('volume' , self ._volume .id )
950+ ]
951+
952+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
953+
954+ result = self .cmd .take_action (parsed_args )
955+ self .volumes_mock .update_readonly_flag .assert_called_once_with (
956+ self ._volume .id ,
957+ True )
958+ self .assertIsNone (result )
959+
960+ def test_volume_set_read_write (self ):
961+ arglist = [
962+ '--read-write' ,
963+ self ._volume .id
964+ ]
965+ verifylist = [
966+ ('read_only' , False ),
967+ ('read_write' , True ),
968+ ('volume' , self ._volume .id )
969+ ]
970+
971+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
972+
973+ result = self .cmd .take_action (parsed_args )
974+ self .volumes_mock .update_readonly_flag .assert_called_once_with (
975+ self ._volume .id ,
976+ False )
977+ self .assertIsNone (result )
978+
946979
947980class TestVolumeShow (TestVolume ):
948981
0 commit comments