mirror of
https://github.com/beetbox/beets.git
synced 2025-12-06 08:39:17 +01:00
46 lines
1.1 KiB
Python
46 lines
1.1 KiB
Python
import importlib.util
|
|
import os
|
|
|
|
import pytest
|
|
|
|
from beets.test.helper import ImportHelper, PluginMixin
|
|
|
|
github_ci = os.environ.get("GITHUB_ACTIONS") == "true"
|
|
if not github_ci and not importlib.util.find_spec("librosa"):
|
|
pytest.skip("librosa isn't available", allow_module_level=True)
|
|
|
|
|
|
class TestAutoBPMPlugin(PluginMixin, ImportHelper):
|
|
plugin = "autobpm"
|
|
|
|
@pytest.fixture(scope="class", name="lib")
|
|
def fixture_lib(self):
|
|
self.setup_beets()
|
|
|
|
yield self.lib
|
|
|
|
self.teardown_beets()
|
|
|
|
@pytest.fixture(scope="class")
|
|
def item(self):
|
|
return self.add_item_fixture()
|
|
|
|
@pytest.fixture(scope="class")
|
|
def importer(self, lib):
|
|
self.import_media = []
|
|
self.prepare_album_for_import(1)
|
|
track = self.import_media[0]
|
|
track.bpm = None
|
|
track.save()
|
|
return self.setup_importer(autotag=False)
|
|
|
|
def test_command(self, lib, item):
|
|
self.run_command("autobpm", lib=lib)
|
|
|
|
item.load()
|
|
assert item.bpm == 117
|
|
|
|
def test_import(self, lib, importer):
|
|
importer.run()
|
|
|
|
assert lib.items().get().bpm == 117
|