]> kaliko git repositories - mpd-sima.git/blobdiff - tests/test_simadb.py
Add abstract unix socket support for MPD connection
[mpd-sima.git] / tests / test_simadb.py
index 52e3e4409a53e36b088f13a7ce3075f9355cb243..a57791695613b181c89b99abd45c8157c43a3b31 100644 (file)
@@ -4,7 +4,7 @@ import datetime
 import unittest
 import os
 
-from sima.lib.db import SimaDB
+from sima.lib.simadb import SimaDB
 from sima.lib.track import Track
 from sima.lib.meta import Album, Artist, MetaContainer
 
@@ -14,6 +14,7 @@ DEVOLT = {
     'albumartist': 'Devolt',
     'albumartistsort': 'Devolt',
     'artist': 'Devolt',
+    'genre': ['Rock'],
     'date': '2011-12-01',
     'disc': '1/1',
     'file': 'music/Devolt/2011-Grey/03-Devolt - Crazy.mp3',
@@ -97,7 +98,8 @@ class Test_00DB(Main):
         # recent first, oldest last
         hist = list()
         for i in range(1, 5):  # starts at 1 to ensure records are in the past
-            trk = Track(file=f'/foo/bar.{i}', name='{i}-baz', album='foolbum')
+            trk = Track(file=f'/foo/bar.{i}', name=f'{i}-baz',
+                        album='foolbum', genre=f'{i}')
             hist.append(trk)
             last = CURRENT - datetime.timedelta(minutes=i)
             self.db.add_history(trk, date=last)
@@ -305,5 +307,31 @@ class Test_01BlockList(Main):
         conn.close()
 
 
+class Test_02Genre(Main):
+
+    def test_genre(self):
+        conn = self.db.get_database_connection()
+        self.db.get_genre('Post-Rock', with_connection=conn)
+        genres = list()
+        for i in range(1, 15):  # starts at 1 to ensure records are in the past
+            trk = Track(file=f'/foo/bar.{i}', name=f'{i}-baz',
+                        album='foolbum', artist=f'{i}-art', genre=f'{i}')
+            genres.append(f'{i}')
+            last = CURRENT - datetime.timedelta(minutes=i)
+            self.db.add_history(trk, date=last)
+        genre_hist = self.db.fetch_genres_history(limit=10)
+        self.assertEqual([g[0] for g in genre_hist], genres[:10])
+
+    def test_null_genres(self):
+        conn = self.db.get_database_connection()
+        genres = list()
+        for i in range(1, 2):  # starts at 1 to ensure records are in the past
+            trk = Track(file=f'/foo/bar.{i}', name=f'{i}-baz',
+                        album='foolbum', artist=f'{i}-art')
+            last = CURRENT - datetime.timedelta(minutes=i)
+            self.db.add_history(trk, date=last)
+        genre_hist = self.db.fetch_genres_history(limit=10)
+        self.assertEqual(genre_hist, [])
+
 # VIM MODLINE
 # vim: ai ts=4 sw=4 sts=4 expandtab fileencoding=utf8