Add basic tests for scanner
This commit is contained in:
parent
efc60a943b
commit
02bfad2fe4
@ -29,14 +29,15 @@ class Scanner(object):
|
||||
|
||||
def process_tags(self, bus, message):
|
||||
data = message.parse_tag()
|
||||
self.data_callback(dict([(k, data[k]) for k in data.keys()]))
|
||||
uri = self.uribin.get_property('uri')
|
||||
self.data_callback(uri, dict([(k, data[k]) for k in data.keys()]))
|
||||
self.next_uri()
|
||||
|
||||
def process_error(self, bus, message):
|
||||
if self.error_callback:
|
||||
uri = self.uribin.get_property('uri')
|
||||
error = message.parse_error()
|
||||
self.error_callback(uri, *error)
|
||||
errors = message.parse_error()
|
||||
self.error_callback(uri, errors)
|
||||
self.next_uri()
|
||||
|
||||
def next_uri(self):
|
||||
|
||||
45
tests/scanner.py
Normal file
45
tests/scanner.py
Normal file
@ -0,0 +1,45 @@
|
||||
import unittest
|
||||
|
||||
from mopidy.scanner import Scanner
|
||||
|
||||
from tests import data_folder
|
||||
|
||||
class ScannerTest(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.errors = {}
|
||||
self.data = {}
|
||||
|
||||
def scan(self, path):
|
||||
scanner = Scanner(data_folder(path),
|
||||
self.data_callback, self.error_callback)
|
||||
scanner.start()
|
||||
|
||||
def data_callback(self, uri, data):
|
||||
uri = uri.lstrip('file://')
|
||||
uri = uri.lstrip(data_folder(''))
|
||||
self.data[uri] = data
|
||||
|
||||
def error_callback(self, uri, errors):
|
||||
uri = uri.lstrip('file://')
|
||||
uri = uri.lstrip(data_folder(''))
|
||||
self.errors[uri] = errors
|
||||
|
||||
def test_data_is_set(self):
|
||||
self.scan('blank.mp3')
|
||||
self.assert_(self.data)
|
||||
|
||||
def test_errors_is_not_set(self):
|
||||
self.scan('blank.mp3')
|
||||
self.assert_(not self.errors)
|
||||
|
||||
def test_artist_is_set(self):
|
||||
self.scan('blank.mp3')
|
||||
self.assertEqual(self.data['blank.mp3']['artist'], 'artist')
|
||||
|
||||
def test_album_is_set(self):
|
||||
self.scan('blank.mp3')
|
||||
self.assertEqual(self.data['blank.mp3']['album'], 'album')
|
||||
|
||||
def test_track_is_set(self):
|
||||
self.scan('blank.mp3')
|
||||
self.assertEqual(self.data['blank.mp3']['title'], 'title')
|
||||
Loading…
Reference in New Issue
Block a user