mirror of
https://github.com/KevinMidboe/spotify-downloader.git
synced 2025-10-29 18:00:15 +00:00
* added the ability to get all artist's songs as suggested by #366 * added log to featch_all_albums_from_artist function and removed the use of a uri * updated the functionality to get all albums with the ability to get singles * updated main function with new write_all_albums_from_artist function to get all albums from an artist * fixed typos * updated test case for getting all albums from artist * fixed typos
65 lines
2.0 KiB
Python
65 lines
2.0 KiB
Python
import builtins
|
|
import os
|
|
|
|
from spotdl import spotify_tools
|
|
from spotdl import const
|
|
from spotdl import spotdl
|
|
|
|
PLAYLIST_URL = "https://open.spotify.com/user/alex/playlist/0iWOVoumWlkXIrrBTSJmN8"
|
|
ALBUM_URL = "https://open.spotify.com/album/499J8bIsEnU7DSrosFDJJg"
|
|
ARTIST_URL = "https://open.spotify.com/artist/4dpARuHxo51G3z768sgnrY"
|
|
|
|
|
|
def test_user_playlists(tmpdir, monkeypatch):
|
|
expect_tracks = 14
|
|
text_file = os.path.join(str(tmpdir), "test_us.txt")
|
|
monkeypatch.setattr("builtins.input", lambda x: 1)
|
|
spotify_tools.write_user_playlist("alex", text_file)
|
|
with open(text_file, "r") as f:
|
|
tracks = len(f.readlines())
|
|
assert tracks == expect_tracks
|
|
|
|
|
|
def test_playlist(tmpdir):
|
|
expect_tracks = 14
|
|
text_file = os.path.join(str(tmpdir), "test_pl.txt")
|
|
spotify_tools.write_playlist(PLAYLIST_URL, text_file)
|
|
with open(text_file, "r") as f:
|
|
tracks = len(f.readlines())
|
|
assert tracks == expect_tracks
|
|
|
|
|
|
def test_album(tmpdir):
|
|
expect_tracks = 15
|
|
global text_file
|
|
text_file = os.path.join(str(tmpdir), "test_al.txt")
|
|
spotify_tools.write_album(ALBUM_URL, text_file)
|
|
with open(text_file, "r") as f:
|
|
tracks = len(f.readlines())
|
|
assert tracks == expect_tracks
|
|
|
|
def test_all_albums(tmpdir):
|
|
#current number of tracks on spotify since as of 10/10/2018
|
|
#in US market only
|
|
expect_tracks = 49
|
|
global text_file
|
|
text_file = os.path.join(str(tmpdir), 'test_ab.txt')
|
|
spotify_tools.write_all_albums_from_artist(ARTIST_URL, text_file)
|
|
with open(text_file, 'r') as f:
|
|
tracks = len(f.readlines())
|
|
assert tracks == expect_tracks
|
|
|
|
|
|
def test_trim():
|
|
with open(text_file, "r") as track_file:
|
|
tracks = track_file.readlines()
|
|
|
|
expect_number = len(tracks) - 1
|
|
expect_track = tracks[0]
|
|
track = spotdl.internals.trim_song(text_file)
|
|
|
|
with open(text_file, "r") as track_file:
|
|
number = len(track_file.readlines())
|
|
|
|
assert expect_number == number and expect_track == track
|