python-plexapi/tests/test_navigation.py
2023-08-28 20:29:39 -07:00

36 lines
1.8 KiB
Python

# -*- coding: utf-8 -*-
def test_navigate_around_show(account, plex):
show = plex.library.section("TV Shows").get("The 100")
seasons = show.seasons()
season = show.season("Season 1")
episodes = show.episodes()
episode = show.episode("Pilot")
assert "Season 1" in [s.title for s in seasons], "Unable to list season:"
assert "Pilot" in [e.title for e in episodes], "Unable to list episode:"
assert show.season(season=1) == season
assert show.season(1) == season
assert show.episode("Pilot") == episode, "Unable to get show episode:"
assert season.episode("Pilot") == episode, "Unable to get season episode:"
assert season.show() == show, "season.show() doesn't match expected show."
assert episode.show() == show, "episode.show() doesn't match expected show."
assert episode.season() == season, "episode.season() doesn't match expected season."
def test_navigate_around_artist(account, plex):
artist = plex.library.section("Music").get("Broke For Free")
albums = artist.albums()
album = artist.album("Layers")
tracks = artist.tracks()
track = artist.track("As Colourful as Ever")
print(f"Navigating around artist: {artist}")
print(f"Album: {album}")
print(f"Tracks: {tracks}...")
print(f"Track: {track}")
assert isinstance(albums, list), "Unable to list artist albums."
assert artist.track("As Colourful as Ever") == track, "Unable to get artist track."
assert album.track("As Colourful as Ever") == track, "Unable to get album track."
assert album.artist() == artist, "album.artist() doesn't match expected artist."
assert track.artist() == artist, "track.artist() doesn't match expected artist."
assert track.album() == album, "track.album() doesn't match expected album."