python-plexapi/tests-old/test_core.py

52 lines
No EOL
1.9 KiB
Python

# -*- coding: utf-8 -*-
import time
from utils import log, register, getclient
from plexapi import CONFIG
@register()
def test_server(account, plex):
log(2, 'Username: %s' % plex.myPlexUsername)
log(2, 'Platform: %s' % plex.platform)
log(2, 'Version: %s' % plex.version)
assert plex.myPlexUsername is not None, 'Unknown username.'
assert plex.platform is not None, 'Unknown platform.'
assert plex.version is not None, 'Unknown version.'
@register()
def test_list_sections(account, plex):
sections = [s.title for s in plex.library.sections()]
log(2, 'Sections: %s' % sections)
assert CONFIG.show_section in sections, '%s not a library section.' % CONFIG.show_section
assert CONFIG.movie_section in sections, '%s not a library section.' % CONFIG.movie_section
plex.library.section(CONFIG.show_section)
plex.library.section(CONFIG.movie_section)
@register()
def test_history(account, plex):
history = plex.history()
for item in history[:20]:
log(2, "%s: %s played %s '%s'" % (item.viewedAt, item.username, item.TYPE, item.title))
assert len(history), 'No history items have been found.'
@register()
def test_sessions(account, plex):
client, movie = None, None
try:
mtype = 'video'
movie = plex.library.section(CONFIG.movie_section).get(CONFIG.movie_title)
client = getclient(CONFIG.client, CONFIG.client_baseurl, plex)
log(2, 'Playing %s..' % movie.title)
client.playMedia(movie); time.sleep(5)
sessions = plex.sessions()
for item in sessions[:20]:
log(2, "%s is playing %s '%s' on %s" % (item.username, item.TYPE, item.title, item.player.platform))
assert len(sessions), 'No session items have been found.'
finally:
log(2, 'Stop..')
if client: client.stop(mtype); time.sleep(1)
log(2, 'Cleanup: Marking %s watched.' % movie.title)
if movie: movie.markWatched()