mirror of
https://github.com/beetbox/beets.git
synced 2026-02-21 14:56:02 +01:00
Replace unittest.TestCase, TestHelper by BeetsTestCase
This commit is contained in:
parent
3e278159ed
commit
6c1e26acc9
35 changed files with 98 additions and 105 deletions
|
|
@ -17,13 +17,13 @@
|
|||
|
||||
import unittest
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beets.ui import UserError
|
||||
|
||||
PLUGIN_NAME = "advancedrewrite"
|
||||
|
||||
|
||||
class AdvancedRewritePluginTest(unittest.TestCase, TestHelper):
|
||||
class AdvancedRewritePluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
|
|||
|
|
@ -15,15 +15,14 @@
|
|||
"""Tests for the 'albumtypes' plugin."""
|
||||
|
||||
|
||||
import unittest
|
||||
from typing import Sequence, Tuple
|
||||
|
||||
from beets.autotag.mb import VARIOUS_ARTISTS_ID
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug.albumtypes import AlbumTypesPlugin
|
||||
|
||||
|
||||
class AlbumTypesPluginTest(unittest.TestCase, TestHelper):
|
||||
class AlbumTypesPluginTest(BeetsTestCase):
|
||||
"""Tests for albumtypes plugin."""
|
||||
|
||||
def setUp(self):
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@
|
|||
import unittest
|
||||
|
||||
from beets import logging
|
||||
from beets.test.helper import TestHelper, capture_stdout
|
||||
from beets.test.helper import BeetsTestCase, capture_stdout
|
||||
|
||||
|
||||
class BareascPluginTest(unittest.TestCase, TestHelper):
|
||||
class BareascPluginTest(BeetsTestCase):
|
||||
"""Test bare ASCII query matching."""
|
||||
|
||||
def setUp(self):
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@
|
|||
import unittest
|
||||
|
||||
from beets import config, ui
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug import bucket
|
||||
|
||||
|
||||
class BucketPluginTest(unittest.TestCase, TestHelper):
|
||||
class BucketPluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.plugin = bucket.BucketPlugin()
|
||||
|
|
|
|||
|
|
@ -21,9 +21,9 @@ from beets.library import Item
|
|||
from beets.test import _common
|
||||
from beets.test.helper import (
|
||||
AutotagStub,
|
||||
BeetsTestCase,
|
||||
ImportHelper,
|
||||
TerminalImportSessionSetup,
|
||||
TestHelper,
|
||||
control_stdin,
|
||||
)
|
||||
from beetsplug.edit import EditPlugin
|
||||
|
|
@ -115,7 +115,7 @@ class EditMixin:
|
|||
|
||||
@_common.slow_test()
|
||||
@patch("beets.library.Item.write")
|
||||
class EditCommandTest(unittest.TestCase, TestHelper, EditMixin):
|
||||
class EditCommandTest(BeetsTestCase, EditMixin):
|
||||
"""Black box tests for `beetsplug.edit`. Command line interaction is
|
||||
simulated using `test.helper.control_stdin()`, and yaml editing via an
|
||||
external editor is simulated using `ModifyFileMocker`.
|
||||
|
|
@ -323,11 +323,7 @@ class EditCommandTest(unittest.TestCase, TestHelper, EditMixin):
|
|||
|
||||
@_common.slow_test()
|
||||
class EditDuringImporterTest(
|
||||
TerminalImportSessionSetup,
|
||||
unittest.TestCase,
|
||||
ImportHelper,
|
||||
TestHelper,
|
||||
EditMixin,
|
||||
TerminalImportSessionSetup, BeetsTestCase, ImportHelper, EditMixin
|
||||
):
|
||||
"""TODO"""
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ from mediafile import MediaFile
|
|||
|
||||
from beets import art, config, logging, ui
|
||||
from beets.test import _common
|
||||
from beets.test.helper import FetchImageHelper, TestHelper
|
||||
from beets.test.helper import BeetsTestCase, FetchImageHelper
|
||||
from beets.util import bytestring_path, displayable_path, syspath
|
||||
from beets.util.artresizer import ArtResizer
|
||||
|
||||
|
|
@ -40,7 +40,7 @@ def require_artresizer_compare(test):
|
|||
return wrapper
|
||||
|
||||
|
||||
class EmbedartCliTest(TestHelper, FetchImageHelper):
|
||||
class EmbedartCliTest(FetchImageHelper, BeetsTestCase):
|
||||
small_artpath = os.path.join(_common.RSRC, b"image-2x3.jpg")
|
||||
abbey_artpath = os.path.join(_common.RSRC, b"abbey.jpg")
|
||||
abbey_similarpath = os.path.join(_common.RSRC, b"abbey-similar.jpg")
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ import unittest
|
|||
|
||||
import responses
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug import embyupdate
|
||||
|
||||
|
||||
class EmbyUpdateTest(unittest.TestCase, TestHelper):
|
||||
class EmbyUpdateTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("embyupdate")
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@ import unittest
|
|||
from xml.etree import ElementTree
|
||||
from xml.etree.ElementTree import Element
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
|
||||
|
||||
class ExportPluginTest(unittest.TestCase, TestHelper):
|
||||
class ExportPluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("export")
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@ import sys
|
|||
import unittest
|
||||
|
||||
from beets import util
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
|
||||
|
||||
class FetchartCliTest(unittest.TestCase, TestHelper):
|
||||
class FetchartCliTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("fetchart")
|
||||
|
|
|
|||
|
|
@ -17,11 +17,11 @@
|
|||
|
||||
import unittest
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug import ftintitle
|
||||
|
||||
|
||||
class FtInTitlePluginFunctional(unittest.TestCase, TestHelper):
|
||||
class FtInTitlePluginFunctional(BeetsTestCase):
|
||||
def setUp(self):
|
||||
"""Set up configuration"""
|
||||
self.setup_beets()
|
||||
|
|
|
|||
|
|
@ -17,11 +17,11 @@ import unittest
|
|||
|
||||
from mediafile import MediaFile
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beets.util import displayable_path
|
||||
|
||||
|
||||
class InfoTest(unittest.TestCase, TestHelper):
|
||||
class InfoTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("info")
|
||||
|
|
|
|||
|
|
@ -18,13 +18,13 @@ from unittest.mock import Mock, patch
|
|||
|
||||
from beets import library
|
||||
from beets.test import _common
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beets.util import _fsencoding, bytestring_path
|
||||
from beetsplug.ipfs import IPFSPlugin
|
||||
|
||||
|
||||
@patch("beets.util.command_output", Mock())
|
||||
class IPFSPluginTest(unittest.TestCase, TestHelper):
|
||||
class IPFSPluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("ipfs")
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@ from unittest.mock import patch
|
|||
|
||||
from beets import util
|
||||
from beets.library import Item
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
|
||||
|
||||
@patch("beets.util.command_output")
|
||||
class KeyFinderTest(unittest.TestCase, TestHelper):
|
||||
class KeyFinderTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("keyfinder")
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@ from unittest.mock import Mock
|
|||
|
||||
from beets import config
|
||||
from beets.test import _common
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug import lastgenre
|
||||
|
||||
|
||||
class LastGenrePluginTest(unittest.TestCase, TestHelper):
|
||||
class LastGenrePluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.plugin = lastgenre.LastGenrePlugin()
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@
|
|||
|
||||
import unittest
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
|
||||
|
||||
class LimitPluginTest(unittest.TestCase, TestHelper):
|
||||
class LimitPluginTest(BeetsTestCase):
|
||||
"""Unit tests for LimitPlugin
|
||||
|
||||
Note: query prefix tests do not work correctly with `run_with_output`.
|
||||
|
|
|
|||
|
|
@ -17,16 +17,16 @@ import unittest
|
|||
|
||||
from beets.test.helper import (
|
||||
AutotagStub,
|
||||
BeetsTestCase,
|
||||
ImportHelper,
|
||||
TerminalImportSessionSetup,
|
||||
TestHelper,
|
||||
capture_stdout,
|
||||
control_stdin,
|
||||
)
|
||||
|
||||
|
||||
class MBSubmitPluginTest(
|
||||
TerminalImportSessionSetup, unittest.TestCase, ImportHelper, TestHelper
|
||||
TerminalImportSessionSetup, BeetsTestCase, ImportHelper
|
||||
):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
|
|
|||
|
|
@ -19,14 +19,14 @@ from unittest.mock import patch
|
|||
from beets import config
|
||||
from beets.library import Item
|
||||
from beets.test.helper import (
|
||||
TestHelper,
|
||||
BeetsTestCase,
|
||||
capture_log,
|
||||
generate_album_info,
|
||||
generate_track_info,
|
||||
)
|
||||
|
||||
|
||||
class MbsyncCliTest(unittest.TestCase, TestHelper):
|
||||
class MbsyncCliTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("mbsync")
|
||||
|
|
|
|||
|
|
@ -18,11 +18,11 @@ from unittest.mock import ANY, Mock, call, patch
|
|||
|
||||
from beets import util
|
||||
from beets.library import Item
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug.mpdstats import MPDStats
|
||||
|
||||
|
||||
class MPDStatsTest(unittest.TestCase, TestHelper):
|
||||
class MPDStatsTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("mpdstats")
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import unittest
|
|||
from unittest.mock import patch
|
||||
|
||||
from beets.library import Item
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug import parentwork
|
||||
|
||||
work = {
|
||||
|
|
@ -85,7 +85,7 @@ def mock_workid_response(mbid, includes):
|
|||
return p_work
|
||||
|
||||
|
||||
class ParentWorkIntegrationTest(unittest.TestCase, TestHelper):
|
||||
class ParentWorkIntegrationTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
"""Set up configuration"""
|
||||
self.setup_beets()
|
||||
|
|
@ -180,7 +180,7 @@ class ParentWorkIntegrationTest(unittest.TestCase, TestHelper):
|
|||
)
|
||||
|
||||
|
||||
class ParentWorkTest(unittest.TestCase, TestHelper):
|
||||
class ParentWorkTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
"""Set up configuration"""
|
||||
self.setup_beets()
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ import unittest
|
|||
from unittest.mock import Mock, patch
|
||||
|
||||
from beets.test._common import touch
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beets.util import displayable_path
|
||||
from beetsplug.permissions import (
|
||||
check_permissions,
|
||||
|
|
@ -16,7 +16,7 @@ from beetsplug.permissions import (
|
|||
)
|
||||
|
||||
|
||||
class PermissionsPluginTest(unittest.TestCase, TestHelper):
|
||||
class PermissionsPluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("permissions")
|
||||
|
|
|
|||
|
|
@ -20,14 +20,14 @@ import sys
|
|||
import unittest
|
||||
from unittest.mock import ANY, patch
|
||||
|
||||
from beets.test.helper import CleanupModulesMixin, TestHelper, control_stdin
|
||||
from beets.test.helper import BeetsTestCase, CleanupModulesMixin, control_stdin
|
||||
from beets.ui import UserError
|
||||
from beets.util import open_anything
|
||||
from beetsplug.play import PlayPlugin
|
||||
|
||||
|
||||
@patch("beetsplug.play.util.interactive_open")
|
||||
class PlayPluginTest(CleanupModulesMixin, unittest.TestCase, TestHelper):
|
||||
class PlayPluginTest(CleanupModulesMixin, BeetsTestCase):
|
||||
modules = (PlayPlugin.__module__,)
|
||||
|
||||
def setUp(self):
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ from unittest import mock
|
|||
import confuse
|
||||
import yaml
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beets.util import bluelet
|
||||
from beetsplug import bpd
|
||||
|
||||
|
|
@ -277,7 +277,7 @@ def start_server(args, assigned_port, listener_patch):
|
|||
beets.ui.main(args)
|
||||
|
||||
|
||||
class BPDTestHelper(unittest.TestCase, TestHelper):
|
||||
class BPDTestHelper(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets(disk=True)
|
||||
self.load_plugins("bpd")
|
||||
|
|
|
|||
|
|
@ -18,10 +18,11 @@ import unittest
|
|||
from shlex import quote
|
||||
|
||||
import beets
|
||||
from beets.test import _common, helper
|
||||
from beets.test import _common
|
||||
from beets.test.helper import BeetsTestCase
|
||||
|
||||
|
||||
class PlaylistTestHelper(helper.TestHelper):
|
||||
class PlaylistTestCase(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.lib = beets.library.Library(":memory:")
|
||||
|
|
@ -88,7 +89,7 @@ class PlaylistTestHelper(helper.TestHelper):
|
|||
self.teardown_beets()
|
||||
|
||||
|
||||
class PlaylistQueryTestHelper(PlaylistTestHelper):
|
||||
class PlaylistQueryTest:
|
||||
def test_name_query_with_absolute_paths_in_playlist(self):
|
||||
q = "playlist:absolute"
|
||||
results = self.lib.items(q)
|
||||
|
|
@ -166,7 +167,7 @@ class PlaylistQueryTestHelper(PlaylistTestHelper):
|
|||
self.assertEqual(set(results), set())
|
||||
|
||||
|
||||
class PlaylistTestRelativeToLib(PlaylistQueryTestHelper, unittest.TestCase):
|
||||
class PlaylistTestRelativeToLib(PlaylistQueryTest, PlaylistTestCase):
|
||||
def setup_test(self):
|
||||
with open(os.path.join(self.playlist_dir, "absolute.m3u"), "w") as f:
|
||||
f.write(
|
||||
|
|
@ -187,7 +188,7 @@ class PlaylistTestRelativeToLib(PlaylistQueryTestHelper, unittest.TestCase):
|
|||
self.config["playlist"]["relative_to"] = "library"
|
||||
|
||||
|
||||
class PlaylistTestRelativeToDir(PlaylistQueryTestHelper, unittest.TestCase):
|
||||
class PlaylistTestRelativeToDir(PlaylistQueryTest, PlaylistTestCase):
|
||||
def setup_test(self):
|
||||
with open(os.path.join(self.playlist_dir, "absolute.m3u"), "w") as f:
|
||||
f.write(
|
||||
|
|
@ -208,7 +209,7 @@ class PlaylistTestRelativeToDir(PlaylistQueryTestHelper, unittest.TestCase):
|
|||
self.config["playlist"]["relative_to"] = self.music_dir
|
||||
|
||||
|
||||
class PlaylistTestRelativeToPls(PlaylistQueryTestHelper, unittest.TestCase):
|
||||
class PlaylistTestRelativeToPls(PlaylistQueryTest, PlaylistTestCase):
|
||||
def setup_test(self):
|
||||
with open(os.path.join(self.playlist_dir, "absolute.m3u"), "w") as f:
|
||||
f.write(
|
||||
|
|
@ -251,7 +252,7 @@ class PlaylistTestRelativeToPls(PlaylistQueryTestHelper, unittest.TestCase):
|
|||
self.config["playlist"]["playlist_dir"] = self.playlist_dir
|
||||
|
||||
|
||||
class PlaylistUpdateTestHelper(PlaylistTestHelper):
|
||||
class PlaylistUpdateTest:
|
||||
def setup_test(self):
|
||||
with open(os.path.join(self.playlist_dir, "absolute.m3u"), "w") as f:
|
||||
f.write(
|
||||
|
|
@ -273,7 +274,7 @@ class PlaylistUpdateTestHelper(PlaylistTestHelper):
|
|||
self.config["playlist"]["relative_to"] = "library"
|
||||
|
||||
|
||||
class PlaylistTestItemMoved(PlaylistUpdateTestHelper, unittest.TestCase):
|
||||
class PlaylistTestItemMoved(PlaylistUpdateTest, PlaylistTestCase):
|
||||
def test_item_moved(self):
|
||||
# Emit item_moved event for an item that is in a playlist
|
||||
results = self.lib.items(
|
||||
|
|
@ -339,7 +340,7 @@ class PlaylistTestItemMoved(PlaylistUpdateTestHelper, unittest.TestCase):
|
|||
)
|
||||
|
||||
|
||||
class PlaylistTestItemRemoved(PlaylistUpdateTestHelper, unittest.TestCase):
|
||||
class PlaylistTestItemRemoved(PlaylistUpdateTest, PlaylistTestCase):
|
||||
def test_item_removed(self):
|
||||
# Emit item_removed event for an item that is in a playlist
|
||||
results = self.lib.items(
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@ import unittest
|
|||
|
||||
import responses
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beetsplug.plexupdate import get_music_section, update_plex
|
||||
|
||||
|
||||
class PlexUpdateTest(unittest.TestCase, TestHelper):
|
||||
class PlexUpdateTest(BeetsTestCase):
|
||||
def add_response_get_music_section(self, section_name="Music"):
|
||||
"""Create response for mocking the get_music_section function."""
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ from beets import random
|
|||
from beets.test.helper import TestHelper
|
||||
|
||||
|
||||
class RandomTest(unittest.TestCase, TestHelper):
|
||||
class RandomTest(TestHelper, unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.lib = None
|
||||
self.artist1 = "Artist 1"
|
||||
|
|
@ -37,9 +37,6 @@ class RandomTest(unittest.TestCase, TestHelper):
|
|||
self.random_gen = Random()
|
||||
self.random_gen.seed(12345)
|
||||
|
||||
def tearDown(self):
|
||||
pass
|
||||
|
||||
def _stats(self, data):
|
||||
mean = sum(data) / len(data)
|
||||
stdev = math.sqrt(sum((p - mean) ** 2 for p in data) / (len(data) - 1))
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ from shutil import rmtree
|
|||
from tempfile import mkdtemp
|
||||
from unittest.mock import Mock, call, patch
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
from beets.util import bytestring_path, syspath
|
||||
from beetsplug.thumbnails import (
|
||||
LARGE_DIR,
|
||||
|
|
@ -30,7 +30,7 @@ from beetsplug.thumbnails import (
|
|||
)
|
||||
|
||||
|
||||
class ThumbnailsTest(unittest.TestCase, TestHelper):
|
||||
class ThumbnailsTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
|
|||
|
|
@ -19,10 +19,10 @@ from datetime import datetime
|
|||
|
||||
from confuse import ConfigValueError
|
||||
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
|
||||
|
||||
class TypesPluginTest(unittest.TestCase, TestHelper):
|
||||
class TypesPluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.load_plugins("types")
|
||||
|
|
|
|||
|
|
@ -5,12 +5,12 @@ import unittest
|
|||
from mediafile import MediaFile
|
||||
|
||||
from beets.library import Item
|
||||
from beets.test.helper import TestHelper, control_stdin
|
||||
from beets.test.helper import BeetsTestCase, control_stdin
|
||||
from beets.util import syspath
|
||||
from beetsplug.zero import ZeroPlugin
|
||||
|
||||
|
||||
class ZeroPluginTest(unittest.TestCase, TestHelper):
|
||||
class ZeroPluginTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.config["zero"] = {
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@ from unittest.mock import patch
|
|||
import yaml
|
||||
|
||||
from beets import config, ui
|
||||
from beets.test.helper import TestHelper
|
||||
from beets.test.helper import BeetsTestCase
|
||||
|
||||
|
||||
class ConfigCommandTest(unittest.TestCase, TestHelper):
|
||||
class ConfigCommandTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
for k in ("VISUAL", "EDITOR"):
|
||||
|
|
|
|||
|
|
@ -38,7 +38,6 @@ from beets.test.helper import (
|
|||
AutotagStub,
|
||||
BeetsTestCase,
|
||||
ImportHelper,
|
||||
TestHelper,
|
||||
capture_log,
|
||||
has_program,
|
||||
)
|
||||
|
|
@ -1171,7 +1170,7 @@ def match_album_mock(*args, **kwargs):
|
|||
|
||||
|
||||
@patch("beets.autotag.mb.match_album", Mock(side_effect=match_album_mock))
|
||||
class ImportDuplicateAlbumTest(unittest.TestCase, TestHelper):
|
||||
class ImportDuplicateAlbumTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
@ -1293,7 +1292,7 @@ def match_track_mock(*args, **kwargs):
|
|||
|
||||
|
||||
@patch("beets.autotag.mb.match_track", Mock(side_effect=match_track_mock))
|
||||
class ImportDuplicateSingletonTest(unittest.TestCase, TestHelper):
|
||||
class ImportDuplicateSingletonTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
@ -1382,7 +1381,7 @@ class TagLogTest(BeetsTestCase):
|
|||
self.assertIn("status caf\xe9", sio.getvalue())
|
||||
|
||||
|
||||
class ResumeImportTest(unittest.TestCase, TestHelper):
|
||||
class ResumeImportTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
@ -1433,7 +1432,7 @@ class ResumeImportTest(unittest.TestCase, TestHelper):
|
|||
self.assertIsNotNone(self.lib.items("title:track 1").get())
|
||||
|
||||
|
||||
class IncrementalImportTest(unittest.TestCase, TestHelper):
|
||||
class IncrementalImportTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.config["import"]["incremental"] = True
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ import beets.library
|
|||
from beets import config, plugins, util
|
||||
from beets.test import _common
|
||||
from beets.test._common import item
|
||||
from beets.test.helper import BeetsTestCase, LibTestCase, TestHelper
|
||||
from beets.test.helper import BeetsTestCase, LibTestCase
|
||||
from beets.util import bytestring_path, syspath
|
||||
|
||||
# Shortcut to path normalization.
|
||||
|
|
@ -1267,7 +1267,7 @@ class UnicodePathTest(LibTestCase):
|
|||
self.i.write()
|
||||
|
||||
|
||||
class WriteTest(unittest.TestCase, TestHelper):
|
||||
class WriteTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
@ -1355,7 +1355,7 @@ class ItemReadTest(unittest.TestCase):
|
|||
item.read("/thisfiledoesnotexist")
|
||||
|
||||
|
||||
class FilesizeTest(unittest.TestCase, TestHelper):
|
||||
class FilesizeTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ class LoggingTest(BeetsTestCase):
|
|||
self.assertTrue(stream.getvalue(), "foo oof baz")
|
||||
|
||||
|
||||
class LoggingLevelTest(unittest.TestCase, helper.TestHelper):
|
||||
class LoggingLevelTest(BeetsTestCase):
|
||||
class DummyModule:
|
||||
class DummyPlugin(plugins.BeetsPlugin):
|
||||
def __init__(self):
|
||||
|
|
|
|||
|
|
@ -35,9 +35,9 @@ from beets.test import helper
|
|||
from beets.test._common import RSRC
|
||||
from beets.test.helper import (
|
||||
AutotagStub,
|
||||
BeetsTestCase,
|
||||
ImportHelper,
|
||||
TerminalImportSessionSetup,
|
||||
TestHelper,
|
||||
)
|
||||
from beets.util import bytestring_path, displayable_path, syspath
|
||||
from beets.util.id_extractors import (
|
||||
|
|
@ -47,7 +47,7 @@ from beets.util.id_extractors import (
|
|||
)
|
||||
|
||||
|
||||
class PluginLoaderTestCase(unittest.TestCase, TestHelper):
|
||||
class PluginLoaderTestCase(BeetsTestCase):
|
||||
def setup_plugin_loader(self):
|
||||
# FIXME the mocking code is horrific, but this is the lowest and
|
||||
# earliest level of the plugin mechanism we can hook into.
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ from beets.dbcore.query import (
|
|||
ParsingError,
|
||||
)
|
||||
from beets.library import Item, Library
|
||||
from beets.test import _common, helper
|
||||
from beets.test import _common
|
||||
from beets.test.helper import BeetsTestCase, LibTestCase
|
||||
from beets.util import syspath
|
||||
|
||||
|
|
@ -39,7 +39,13 @@ from beets.util import syspath
|
|||
WIN32_NO_IMPLICIT_PATHS = "Implicit paths are not supported on Windows"
|
||||
|
||||
|
||||
class TestHelper(helper.TestHelper):
|
||||
class AssertsMixin:
|
||||
def assert_items_matched(self, results, titles):
|
||||
self.assertEqual({i.title for i in results}, set(titles))
|
||||
|
||||
def assert_albums_matched(self, results, albums):
|
||||
self.assertEqual({a.album for a in results}, set(albums))
|
||||
|
||||
def assertInResult(self, item, results): # noqa
|
||||
result_ids = [i.id for i in results]
|
||||
self.assertIn(item.id, result_ids)
|
||||
|
|
@ -83,14 +89,6 @@ class AnyFieldQueryTest(LibTestCase):
|
|||
self.assertNotEqual(q1, q2)
|
||||
|
||||
|
||||
class AssertsMixin:
|
||||
def assert_items_matched(self, results, titles):
|
||||
self.assertEqual({i.title for i in results}, set(titles))
|
||||
|
||||
def assert_albums_matched(self, results, albums):
|
||||
self.assertEqual({a.album for a in results}, set(albums))
|
||||
|
||||
|
||||
# A test case class providing a library with some dummy data and some
|
||||
# assertions involving that data.
|
||||
class DummyDataTestCase(BeetsTestCase, AssertsMixin):
|
||||
|
|
@ -488,7 +486,7 @@ class MatchTest(BeetsTestCase):
|
|||
self.assertNotEqual(q3, q4)
|
||||
|
||||
|
||||
class PathQueryTest(LibTestCase, TestHelper, AssertsMixin):
|
||||
class PathQueryTest(LibTestCase, AssertsMixin):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
|
||||
|
|
@ -726,11 +724,12 @@ class PathQueryTest(LibTestCase, TestHelper, AssertsMixin):
|
|||
os.chdir(cur_dir)
|
||||
|
||||
|
||||
class IntQueryTest(unittest.TestCase, TestHelper):
|
||||
class IntQueryTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.lib = Library(":memory:")
|
||||
|
||||
def tearDown(self):
|
||||
super().tearDown()
|
||||
Item._types = {}
|
||||
|
||||
def test_exact_value_match(self):
|
||||
|
|
@ -764,12 +763,14 @@ class IntQueryTest(unittest.TestCase, TestHelper):
|
|||
self.assertIsNone(matched)
|
||||
|
||||
|
||||
class BoolQueryTest(unittest.TestCase, TestHelper):
|
||||
class BoolQueryTest(BeetsTestCase, AssertsMixin):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.lib = Library(":memory:")
|
||||
Item._types = {"flexbool": types.Boolean()}
|
||||
|
||||
def tearDown(self):
|
||||
super().tearDown()
|
||||
Item._types = {}
|
||||
|
||||
def test_parse_true(self):
|
||||
|
|
@ -834,8 +835,9 @@ class DefaultSearchFieldsTest(DummyDataTestCase):
|
|||
self.assert_items_matched(items, [])
|
||||
|
||||
|
||||
class NoneQueryTest(unittest.TestCase, TestHelper):
|
||||
class NoneQueryTest(BeetsTestCase, AssertsMixin):
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.lib = Library(":memory:")
|
||||
|
||||
def test_match_singletons(self):
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ from beets.autotag.match import distance
|
|||
from beets.test import _common
|
||||
from beets.test.helper import (
|
||||
BeetsTestCase,
|
||||
TestHelper,
|
||||
capture_stdout,
|
||||
control_stdin,
|
||||
has_program,
|
||||
|
|
@ -190,7 +189,7 @@ class RemoveTest(BeetsTestCase):
|
|||
self.assertEqual(num_existing, 1)
|
||||
|
||||
|
||||
class ModifyTest(unittest.TestCase, TestHelper):
|
||||
class ModifyTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
self.album = self.add_album_fixture()
|
||||
|
|
@ -404,7 +403,7 @@ class ModifyTest(unittest.TestCase, TestHelper):
|
|||
self.assertEqual(mods, {"title": "newTitle"})
|
||||
|
||||
|
||||
class WriteTest(unittest.TestCase, TestHelper):
|
||||
class WriteTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
@ -845,7 +844,7 @@ class ImportTest(BeetsTestCase):
|
|||
|
||||
|
||||
@_common.slow_test()
|
||||
class ConfigTest(unittest.TestCase, TestHelper):
|
||||
class ConfigTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
@ -1469,7 +1468,7 @@ class CompletionTest(BeetsTestCase):
|
|||
)
|
||||
|
||||
|
||||
class CommonOptionsParserCliTest(unittest.TestCase, TestHelper):
|
||||
class CommonOptionsParserCliTest(BeetsTestCase):
|
||||
"""Test CommonOptionsParser and formatting LibModel formatting on 'list'
|
||||
command.
|
||||
"""
|
||||
|
|
@ -1552,7 +1551,7 @@ class CommonOptionsParserCliTest(unittest.TestCase, TestHelper):
|
|||
# self.assertIn('plugins: ', l)
|
||||
|
||||
|
||||
class CommonOptionsParserTest(unittest.TestCase, TestHelper):
|
||||
class CommonOptionsParserTest(BeetsTestCase):
|
||||
def setUp(self):
|
||||
self.setup_beets()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue