@@ -96,7 +96,7 @@ def test_image_reserve_no_options(self):
9696 )
9797
9898 self .assertEqual (image_fakes .IMAGE_columns , columns )
99- self .assertEqual (image_fakes .IMAGE_data , data )
99+ self .assertEqual (image_fakes .IMAGE_SHOW_data , data )
100100
101101 @mock .patch ('glanceclient.common.utils.get_data_file' , name = 'Open' )
102102 def test_image_reserve_options (self , mock_open ):
@@ -151,7 +151,7 @@ def test_image_reserve_options(self, mock_open):
151151 )
152152
153153 self .assertEqual (image_fakes .IMAGE_columns , columns )
154- self .assertEqual (image_fakes .IMAGE_data , data )
154+ self .assertEqual (image_fakes .IMAGE_SHOW_data , data )
155155
156156 @mock .patch ('glanceclient.common.utils.get_data_file' , name = 'Open' )
157157 def test_image_create_file (self , mock_open ):
@@ -208,7 +208,7 @@ def test_image_create_file(self, mock_open):
208208 )
209209
210210 self .assertEqual (image_fakes .IMAGE_columns , columns )
211- self .assertEqual (image_fakes .IMAGE_data , data )
211+ self .assertEqual (image_fakes .IMAGE_SHOW_data , data )
212212
213213 def test_image_create_dead_options (self ):
214214
@@ -812,6 +812,81 @@ def test_image_set_fake_properties(self):
812812 ** kwargs
813813 )
814814
815+ def test_image_set_tag (self ):
816+ arglist = [
817+ '--tag' , 'test-tag' ,
818+ image_fakes .image_name ,
819+ ]
820+ verifylist = [
821+ ('tags' , ['test-tag' ]),
822+ ('image' , image_fakes .image_name ),
823+ ]
824+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
825+
826+ # DisplayCommandBase.take_action() returns two tuples
827+ self .cmd .take_action (parsed_args )
828+
829+ kwargs = {
830+ 'tags' : ['test-tag' ],
831+ }
832+ # ImageManager.update(image, **kwargs)
833+ self .images_mock .update .assert_called_with (
834+ image_fakes .image_id ,
835+ ** kwargs
836+ )
837+
838+ def test_image_set_tag_merge (self ):
839+ old_image = copy .copy (image_fakes .IMAGE )
840+ old_image ['tags' ] = ['old1' , 'new2' ]
841+ self .images_mock .get .return_value = self .model (** old_image )
842+ arglist = [
843+ '--tag' , 'test-tag' ,
844+ image_fakes .image_name ,
845+ ]
846+ verifylist = [
847+ ('tags' , ['test-tag' ]),
848+ ('image' , image_fakes .image_name ),
849+ ]
850+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
851+
852+ # DisplayCommandBase.take_action() returns two tuples
853+ self .cmd .take_action (parsed_args )
854+
855+ kwargs = {
856+ 'tags' : ['old1' , 'new2' , 'test-tag' ],
857+ }
858+ # ImageManager.update(image, **kwargs)
859+ a , k = self .images_mock .update .call_args
860+ self .assertEqual (image_fakes .image_id , a [0 ])
861+ self .assertTrue ('tags' in k )
862+ self .assertEqual (set (kwargs ['tags' ]), set (k ['tags' ]))
863+
864+ def test_image_set_tag_merge_dupe (self ):
865+ old_image = copy .copy (image_fakes .IMAGE )
866+ old_image ['tags' ] = ['old1' , 'new2' ]
867+ self .images_mock .get .return_value = self .model (** old_image )
868+ arglist = [
869+ '--tag' , 'old1' ,
870+ image_fakes .image_name ,
871+ ]
872+ verifylist = [
873+ ('tags' , ['old1' ]),
874+ ('image' , image_fakes .image_name ),
875+ ]
876+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
877+
878+ # DisplayCommandBase.take_action() returns two tuples
879+ self .cmd .take_action (parsed_args )
880+
881+ kwargs = {
882+ 'tags' : ['new2' , 'old1' ],
883+ }
884+ # ImageManager.update(image, **kwargs)
885+ a , k = self .images_mock .update .call_args
886+ self .assertEqual (image_fakes .image_id , a [0 ])
887+ self .assertTrue ('tags' in k )
888+ self .assertEqual (set (kwargs ['tags' ]), set (k ['tags' ]))
889+
815890 def test_image_set_dead_options (self ):
816891
817892 arglist = [
@@ -861,4 +936,4 @@ def test_image_show(self):
861936 )
862937
863938 self .assertEqual (image_fakes .IMAGE_columns , columns )
864- self .assertEqual (image_fakes .IMAGE_data , data )
939+ self .assertEqual (image_fakes .IMAGE_SHOW_data , data )
0 commit comments