File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -476,7 +476,9 @@ def _take_action_image(self, parsed_args):
476476 LOG .warning (_ ("Failed to get an image file." ))
477477 return {}, {}
478478
479- if fp is not None and parsed_args .progress :
479+ if parsed_args .progress and parsed_args .file :
480+ # NOTE(stephenfin): we only show a progress bar if the user
481+ # requested it *and* we're reading from a file (not stdin)
480482 filesize = os .path .getsize (fname )
481483 if filesize is not None :
482484 kwargs ['validate_checksum' ] = False
Original file line number Diff line number Diff line change @@ -252,6 +252,37 @@ def test_image_create_file(self):
252252 self .expected_data ,
253253 data )
254254
255+ @mock .patch ('openstackclient.image.v2.image.get_data_file' )
256+ def test_image_create__progress_ignore_with_stdin (
257+ self , mock_get_data_file ,
258+ ):
259+ fake_stdin = io .StringIO ('fake-image-data' )
260+ mock_get_data_file .return_value = (fake_stdin , None )
261+
262+ arglist = [
263+ '--progress' ,
264+ self .new_image .name ,
265+ ]
266+ verifylist = [
267+ ('progress' , True ),
268+ ('name' , self .new_image .name ),
269+ ]
270+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
271+
272+ columns , data = self .cmd .take_action (parsed_args )
273+
274+ self .client .create_image .assert_called_with (
275+ name = self .new_image .name ,
276+ allow_duplicates = True ,
277+ container_format = image .DEFAULT_CONTAINER_FORMAT ,
278+ disk_format = image .DEFAULT_DISK_FORMAT ,
279+ data = fake_stdin ,
280+ validate_checksum = False ,
281+ )
282+
283+ self .assertEqual (self .expected_columns , columns )
284+ self .assertCountEqual (self .expected_data , data )
285+
255286 def test_image_create_dead_options (self ):
256287
257288 arglist = [
You can’t perform that action at this time.
0 commit comments