def test_get_album_list(self): self._make_request('getAlbumList', error=10) self._make_request('getAlbumList', {'type': 'kraken'}, error=0) self._make_request('getAlbumList', { 'type': 'random', 'size': 'huge' }, error=0) self._make_request('getAlbumList', { 'type': 'newest', 'offset': 'minus one' }, error=0) types = [ 'random', 'newest', 'highest', 'frequent', 'recent', 'alphabeticalByName', 'alphabeticalByArtist', 'starred' ] for t in types: self._make_request('getAlbumList', {'type': t}, tag='albumList', skip_post=True) rv, child = self._make_request('getAlbumList', {'type': 'random'}, tag='albumList', skip_post=True) with db_session: Folder.get().delete() rv, child = self._make_request('getAlbumList', {'type': 'random'}, tag='albumList') self.assertEqual(len(child), 0)
def setUp(self): super().setUp() with db_session: root = Folder(name="Root", root=True, path="tests") folder = Folder(name="Folder", path="tests/assets", parent=root) artist = Artist(name="Artist") album = Album(name="Album", artist=artist) # Populate folder ids root = Folder.get(name="Root") folder = Folder.get(name="Folder") track = Track( title="Track", album=album, artist=artist, disc=1, number=1, path="tests/assets/empty", folder=folder, root_folder=root, duration=2, bitrate=320, last_modification=0, ) self.folderid = folder.id self.artistid = artist.id self.albumid = album.id self.trackid = track.id self.user = User.get(name="alice")
def test_get_album_list(self): self._make_request("getAlbumList", error=10) self._make_request("getAlbumList", {"type": "kraken"}, error=0) self._make_request("getAlbumList", {"type": "random", "size": "huge"}, error=0) self._make_request( "getAlbumList", {"type": "newest", "offset": "minus one"}, error=0 ) types = [ "random", "newest", "highest", "frequent", "recent", "alphabeticalByName", "alphabeticalByArtist", "starred", ] for t in types: self._make_request( "getAlbumList", {"type": t}, tag="albumList", skip_post=True ) rv, child = self._make_request( "getAlbumList", {"type": "random"}, tag="albumList", skip_post=True ) with db_session: Folder.get().delete() rv, child = self._make_request( "getAlbumList", {"type": "random"}, tag="albumList" ) self.assertEqual(len(child), 0)
def test_get_random_songs(self): self._make_request("getRandomSongs", {"size": "8 floors"}, error=0) self._make_request("getRandomSongs", {"fromYear": "year"}, error=0) self._make_request("getRandomSongs", {"toYear": "year"}, error=0) self._make_request("getRandomSongs", {"musicFolderId": "idid"}, error=0) self._make_request("getRandomSongs", {"musicFolderId": 1234567890}, error=70) rv, child = self._make_request("getRandomSongs", tag="randomSongs", skip_post=True) with db_session: fid = Folder.get().id self._make_request( "getRandomSongs", { "fromYear": -52, "toYear": "1984", "genre": "some cryptic subgenre youve never heard of", "musicFolderId": fid, }, tag="randomSongs", )
def test_get_indexes(self): self._make_request("getIndexes", {"musicFolderId": "abcdef"}, error=0) self._make_request("getIndexes", {"musicFolderId": 1234567890}, error=70) self._make_request("getIndexes", {"ifModifiedSince": "quoi"}, error=0) rv, child = self._make_request( "getIndexes", {"ifModifiedSince": int(time.time() * 1000 + 1000)}, tag="indexes", ) self.assertEqual(len(child), 0) with db_session: fid = Folder.get(name="Empty root").id rv, child = self._make_request("getIndexes", {"musicFolderId": str(fid)}, tag="indexes") self.assertEqual(len(child), 0) rv, child = self._make_request("getIndexes", tag="indexes") self.assertEqual(len(child), 3) for i, letter in enumerate(["A", "B", "C"]): self.assertEqual(child[i].get("name"), letter) self.assertEqual(len(child[i]), 1) self.assertEqual(child[i][0].get("name"), letter + "rtist")
def test_get_album_list(self): self._make_request('getAlbumList', error = 10) self._make_request('getAlbumList', { 'type': 'kraken' }, error = 0) self._make_request('getAlbumList', { 'type': 'random', 'size': 'huge' }, error = 0) self._make_request('getAlbumList', { 'type': 'newest', 'offset': 'minus one' }, error = 0) types = [ 'random', 'newest', 'highest', 'frequent', 'recent', 'alphabeticalByName', 'alphabeticalByArtist', 'starred' ] for t in types: self._make_request('getAlbumList', { 'type': t }, tag = 'albumList', skip_post = True) rv, child = self._make_request('getAlbumList', { 'type': 'random' }, tag = 'albumList', skip_post = True) with db_session: Folder.get().delete() rv, child = self._make_request('getAlbumList', { 'type': 'random' }, tag = 'albumList') self.assertEqual(len(child), 0)
def test_get_random_songs(self): self._make_request('getRandomSongs', { 'size': '8 floors' }, error = 0) self._make_request('getRandomSongs', { 'fromYear': 'year' }, error = 0) self._make_request('getRandomSongs', { 'toYear': 'year' }, error = 0) self._make_request('getRandomSongs', { 'musicFolderId': 'idid' }, error = 0) self._make_request('getRandomSongs', { 'musicFolderId': uuid.uuid4() }, error = 70) rv, child = self._make_request('getRandomSongs', tag = 'randomSongs', skip_post = True) with db_session: fid = Folder.get().id self._make_request('getRandomSongs', { 'fromYear': -52, 'toYear': '1984', 'genre': 'some cryptic subgenre youve never heard of', 'musicFolderId': fid }, tag = 'randomSongs')
def setUp(self): super().setUp() with db_session: folder = Folder( name="Root", path=os.path.abspath("tests/assets"), root=True, cover_art="cover.jpg", ) folder = Folder.get(name="Root") self.folderid = folder.id artist = Artist(name="Artist") album = Album(artist=artist, name="Album") track = Track( title="23bytes", number=1, disc=1, artist=artist, album=album, path=os.path.abspath("tests/assets/23bytes"), root_folder=folder, folder=folder, duration=2, bitrate=320, last_modification=0, ) self.trackid = track.id self.formats = ["mp3", "flac", "ogg", "m4a"] for i in range(len(self.formats)): track_embeded_art = Track( title="[silence]", number=1, disc=1, artist=artist, album=album, path=os.path.abspath( "tests/assets/formats/silence.{}".format( self.formats[i])), root_folder=folder, folder=folder, duration=2, bitrate=320, last_modification=0, ) self.formats[i] = track_embeded_art.id
def test_get_indexes(self): self._make_request('getIndexes', { 'musicFolderId': 'abcdef' }, error = 0) self._make_request('getIndexes', { 'musicFolderId': str(uuid.uuid4()) }, error = 70) self._make_request('getIndexes', { 'ifModifiedSince': 'quoi' }, error = 0) rv, child = self._make_request('getIndexes', { 'ifModifiedSince': int(time.time() * 1000 + 1000) }, tag = 'indexes') self.assertEqual(len(child), 0) with db_session: fid = Folder.get(name = 'Empty root').id rv, child = self._make_request('getIndexes', { 'musicFolderId': str(fid) }, tag = 'indexes') self.assertEqual(len(child), 0) rv, child = self._make_request('getIndexes', tag = 'indexes') self.assertEqual(len(child), 3) for i, letter in enumerate([ 'A', 'B', 'C' ]): self.assertEqual(child[i].get('name'), letter) self.assertEqual(len(child[i]), 1) self.assertEqual(child[i][0].get('name'), letter + 'rtist')
def test_get_random_songs(self): self._make_request('getRandomSongs', {'size': '8 floors'}, error=0) self._make_request('getRandomSongs', {'fromYear': 'year'}, error=0) self._make_request('getRandomSongs', {'toYear': 'year'}, error=0) self._make_request('getRandomSongs', {'musicFolderId': 'idid'}, error=0) self._make_request('getRandomSongs', {'musicFolderId': uuid.uuid4()}, error=70) rv, child = self._make_request('getRandomSongs', tag='randomSongs', skip_post=True) with db_session: fid = Folder.get().id self._make_request('getRandomSongs', { 'fromYear': -52, 'toYear': '1984', 'genre': 'some cryptic subgenre youve never heard of', 'musicFolderId': fid }, tag='randomSongs')
def test_get_album_list(self): self._make_request("getAlbumList", error=10) self._make_request("getAlbumList", {"type": "kraken"}, error=0) self._make_request("getAlbumList", { "type": "random", "size": "huge" }, error=0) self._make_request("getAlbumList", { "type": "newest", "offset": "minus one" }, error=0) self._make_request("getAlbumList", {"type": "byYear"}, error=10) self._make_request( "getAlbumList", { "type": "byYear", "fromYear": "Epoch", "toYear": "EOL" }, error=0, ) self._make_request("getAlbumList", {"type": "byGenre"}, error=10) types_and_count = [ ("random", 1), ("newest", 1), ("highest", 1), ("frequent", 1), ("recent", 0), # never played ("alphabeticalByName", 1), ( "alphabeticalByArtist", 0, # somehow expected due to funky "album" definition on this endpoint ), ("starred", 0), # nothing's starred ] for t, c in types_and_count: rv, child = self._make_request("getAlbumList", {"type": t}, tag="albumList", skip_post=t == "random") self.assertEqual(len(child), c) rv, child = self._make_request( "getAlbumList", { "type": "byYear", "fromYear": 100, "toYear": 200 }, tag="albumList", ) self.assertEqual(len(child), 1) rv, child = self._make_request( "getAlbumList", { "type": "byYear", "fromYear": 200, "toYear": 300 }, tag="albumList", ) self.assertEqual(len(child), 0) # Need more data to properly test ordering rv, child = self._make_request( "getAlbumList", { "type": "byYear", "fromYear": 200, "toYear": 100 }, tag="albumList", ) self.assertEqual(len(child), 1) rv, child = self._make_request("getAlbumList", { "type": "byGenre", "genre": "FARTS" }, tag="albumList") self.assertEqual(len(child), 0) rv, child = self._make_request("getAlbumList", { "type": "byGenre", "genre": "Lampshade" }, tag="albumList") self.assertEqual(len(child), 1) with db_session: Folder.get().delete() rv, child = self._make_request("getAlbumList", {"type": "random"}, tag="albumList") self.assertEqual(len(child), 0)