hbmartin commited on
Commit
96577d7
·
1 Parent(s): 91d675f

more download audio testing

Browse files
Files changed (2) hide show
  1. pytube/cli.py +1 -4
  2. tests/test_cli.py +25 -5
pytube/cli.py CHANGED
@@ -450,10 +450,7 @@ def download_audio(
450
  Target directory for download
451
  """
452
  audio = (
453
- youtube.streams.filter(only_audio=True, subtype=filetype)
454
- .order_by("abr")
455
- .desc()
456
- .first()
457
  )
458
 
459
  if audio is None:
 
450
  Target directory for download
451
  """
452
  audio = (
453
+ youtube.streams.filter(only_audio=True, subtype=filetype).order_by("abr").last()
 
 
 
454
  )
455
 
456
  if audio is None:
tests/test_cli.py CHANGED
@@ -324,7 +324,8 @@ def test_ffmpeg_downloader(unique_name, download, run, unlink):
324
  )
325
  # Then
326
  download.assert_called()
327
- run.assert_called_with([
 
328
  "ffmpeg",
329
  "-i",
330
  f"target/video_name",
@@ -333,19 +334,38 @@ def test_ffmpeg_downloader(unique_name, download, run, unlink):
333
  "-codec",
334
  "copy",
335
  f"target/safe_title.video_subtype",
336
- ])
 
337
  unlink.assert_called()
338
 
339
 
 
340
  @mock.patch("pytube.cli.YouTube.__init__", return_value=None)
341
- def test_download_audio(youtube):
 
342
  parser = argparse.ArgumentParser()
343
  args = parse_args(parser, ["http://youtube.com/watch?v=9bZkp7q19f0", "-a", "mp4"])
344
  cli._parse_args = MagicMock(return_value=args)
345
- cli.download_audio = MagicMock()
346
  cli.main()
 
347
  youtube.assert_called()
348
- cli.download_audio.assert_called()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
349
 
350
 
351
  @mock.patch("pytube.cli.YouTube.__init__", return_value=None)
 
324
  )
325
  # Then
326
  download.assert_called()
327
+ run.assert_called_with(
328
+ [
329
  "ffmpeg",
330
  "-i",
331
  f"target/video_name",
 
334
  "-codec",
335
  "copy",
336
  f"target/safe_title.video_subtype",
337
+ ]
338
+ )
339
  unlink.assert_called()
340
 
341
 
342
+ @mock.patch("pytube.cli.download_audio")
343
  @mock.patch("pytube.cli.YouTube.__init__", return_value=None)
344
+ def test_download_audio_args(youtube, download_audio):
345
+ # Given
346
  parser = argparse.ArgumentParser()
347
  args = parse_args(parser, ["http://youtube.com/watch?v=9bZkp7q19f0", "-a", "mp4"])
348
  cli._parse_args = MagicMock(return_value=args)
349
+ # When
350
  cli.main()
351
+ # Then
352
  youtube.assert_called()
353
+ download_audio.assert_called()
354
+
355
+
356
+ @mock.patch("pytube.cli._download")
357
+ @mock.patch("pytube.cli.YouTube")
358
+ def test_download_audio(youtube, download):
359
+ # Given
360
+ youtube_instance = youtube.return_value
361
+ audio_stream = MagicMock()
362
+ youtube_instance.streams.filter.return_value.order_by.return_value.last.return_value = (
363
+ audio_stream
364
+ )
365
+ # When
366
+ cli.download_audio(youtube_instance, "filetype", "target")
367
+ # Then
368
+ download.assert_called_with(audio_stream, target="target")
369
 
370
 
371
  @mock.patch("pytube.cli.YouTube.__init__", return_value=None)