forked from openlp/openlp
more test tidy ups
This commit is contained in:
parent
3bdf6d0bd6
commit
38c124224f
@ -30,8 +30,10 @@ from openlp.core.common import md5_hash
|
||||
from openlp.core.common.registry import Registry
|
||||
from openlp.core.common.settings import Settings
|
||||
from openlp.core.lib import ItemCapabilities, ServiceItem, ServiceItemType, FormattingTags
|
||||
|
||||
from tests.helpers.testmixin import TestMixin
|
||||
from tests.utils import assert_length, convert_file_service_item
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
VERSE = 'The Lord said to {r}Noah{/r}: \n'\
|
||||
'There\'s gonna be a {su}floody{/su}, {sb}floody{/sb}\n'\
|
||||
@ -58,7 +60,7 @@ RENDERED_VERSE = 'The Lord said to <span style="-webkit-text-fill-color:red">Noa
|
||||
'<span style="-webkit-text-fill-color:#FFA500">e</span><span style="-webkit-text-fill-color:#800080">'\
|
||||
'n</span> of the Lord\n'
|
||||
FOOTER = ['Arky Arky (Unknown)', 'Public Domain', 'CCLI 123456']
|
||||
TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'service'))
|
||||
TEST_PATH = str(RESOURCE_PATH / 'service')
|
||||
|
||||
__default_settings__ = {
|
||||
'songs/enable chords': True,
|
||||
|
@ -29,7 +29,7 @@ from PyQt5 import QtCore, QtWidgets
|
||||
from openlp.core.app import OpenLP, parse_options
|
||||
from openlp.core.common.settings import Settings
|
||||
|
||||
TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'resources'))
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
|
||||
def test_parse_options_basic():
|
||||
@ -280,7 +280,7 @@ class TestOpenLP(TestCase):
|
||||
Test the reimplemented event method
|
||||
"""
|
||||
# GIVEN: A file path and a QEvent.
|
||||
file_path = os.path.join(TEST_PATH, 'church.jpg')
|
||||
file_path = str(RESOURCE_PATH / 'church.jpg')
|
||||
mocked_file_method = MagicMock(return_value=file_path)
|
||||
event = QtCore.QEvent(QtCore.QEvent.FileOpen)
|
||||
event.file = mocked_file_method
|
||||
|
@ -23,7 +23,6 @@
|
||||
This module contains tests for the CSV Bible importer.
|
||||
"""
|
||||
import csv
|
||||
import json
|
||||
from collections import namedtuple
|
||||
from unittest import TestCase
|
||||
from unittest.mock import ANY, MagicMock, PropertyMock, call, patch
|
||||
@ -32,6 +31,8 @@ from openlp.core.common.path import Path
|
||||
from openlp.core.lib.exceptions import ValidationError
|
||||
from openlp.plugins.bibles.lib.bibleimport import BibleImport
|
||||
from openlp.plugins.bibles.lib.importers.csvbible import Book, CSVBible, Verse
|
||||
|
||||
from tests.utils import load_external_result_data
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = RESOURCE_PATH / 'bibles'
|
||||
@ -330,8 +331,7 @@ class TestCSVImport(TestCase):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'dk1933.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'dk1933.json')
|
||||
books_file = TEST_PATH / 'dk1933-books.csv'
|
||||
verses_file = TEST_PATH / 'dk1933-verses.csv'
|
||||
with patch('openlp.plugins.bibles.lib.importers.csvbible.CSVBible.application'):
|
||||
|
@ -22,7 +22,6 @@
|
||||
"""
|
||||
This module contains tests for the OpenSong Bible importer.
|
||||
"""
|
||||
import json
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock, patch, call
|
||||
|
||||
@ -33,6 +32,7 @@ from openlp.plugins.bibles.lib.importers.opensong import OpenSongBible, get_text
|
||||
from openlp.plugins.bibles.lib.bibleimport import BibleImport
|
||||
|
||||
from tests.helpers.testmixin import TestMixin
|
||||
from tests.utils import load_external_result_data
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = RESOURCE_PATH / 'bibles'
|
||||
@ -399,8 +399,7 @@ class TestOpenSongImportFileImports(TestCase, TestMixin):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'dk1933.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'dk1933.json')
|
||||
bible_file = 'opensong-dk1933.xml'
|
||||
with patch('openlp.plugins.bibles.lib.importers.opensong.OpenSongBible.application'):
|
||||
mocked_manager = MagicMock()
|
||||
|
@ -22,7 +22,6 @@
|
||||
"""
|
||||
This module contains tests for the OSIS Bible importer.
|
||||
"""
|
||||
import json
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock, call, patch
|
||||
|
||||
@ -30,6 +29,7 @@ from openlp.plugins.bibles.lib.bibleimport import BibleImport
|
||||
from openlp.plugins.bibles.lib.db import BibleDB
|
||||
from openlp.plugins.bibles.lib.importers.osis import OSISBible
|
||||
|
||||
from tests.utils import load_external_result_data
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = RESOURCE_PATH / 'bibles'
|
||||
@ -422,8 +422,7 @@ class TestOsisImportFileImports(TestCase):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'dk1933.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'dk1933.json')
|
||||
bible_file = 'osis-dk1933.xml'
|
||||
with patch('openlp.plugins.bibles.lib.importers.osis.OSISBible.application'):
|
||||
mocked_manager = MagicMock()
|
||||
@ -452,8 +451,7 @@ class TestOsisImportFileImports(TestCase):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'kjv.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'kjv.json')
|
||||
bible_file = 'osis-kjv.xml'
|
||||
with patch('openlp.plugins.bibles.lib.importers.osis.OSISBible.application'):
|
||||
mocked_manager = MagicMock()
|
||||
@ -482,8 +480,7 @@ class TestOsisImportFileImports(TestCase):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'web.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'web.json')
|
||||
bible_file = 'osis-web.xml'
|
||||
with patch('openlp.plugins.bibles.lib.importers.osis.OSISBible.application'):
|
||||
mocked_manager = MagicMock()
|
||||
@ -512,8 +509,7 @@ class TestOsisImportFileImports(TestCase):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'dk1933.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'dk1933.json')
|
||||
bible_file = 'osis-dk1933-empty-verse.xml'
|
||||
with patch('openlp.plugins.bibles.lib.importers.osis.OSISBible.application'):
|
||||
mocked_manager = MagicMock()
|
||||
|
@ -22,7 +22,6 @@
|
||||
"""
|
||||
This module contains tests for the SWORD Bible importer.
|
||||
"""
|
||||
import json
|
||||
from unittest import TestCase, skipUnless
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
@ -34,6 +33,7 @@ except ImportError:
|
||||
|
||||
from openlp.plugins.bibles.lib.db import BibleDB
|
||||
|
||||
from tests.utils import load_external_result_data
|
||||
from tests.utils.constants import TEST_RESOURCES_PATH
|
||||
|
||||
TEST_PATH = TEST_RESOURCES_PATH / 'bibles'
|
||||
@ -80,8 +80,7 @@ class TestSwordImport(TestCase):
|
||||
mocked_manager = MagicMock()
|
||||
mocked_import_wizard = MagicMock()
|
||||
importer = SwordBible(mocked_manager, path='.', name='.', file_path=None, sword_key='', sword_path='')
|
||||
file_data = (TEST_PATH / 'dk1933.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'dk1933.json')
|
||||
importer.wizard = mocked_import_wizard
|
||||
importer.get_book_ref_id_by_name = MagicMock()
|
||||
importer.create_verse = MagicMock()
|
||||
|
@ -22,15 +22,13 @@
|
||||
"""
|
||||
This module contains tests for the Zefania Bible importer.
|
||||
"""
|
||||
import os
|
||||
import json
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
from openlp.plugins.bibles.lib.importers.zefania import ZefaniaBible
|
||||
from openlp.plugins.bibles.lib.db import BibleDB
|
||||
from openlp.plugins.bibles.lib.importers.zefania import ZefaniaBible
|
||||
|
||||
from tests.utils import load_external_result_data
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = RESOURCE_PATH / 'bibles'
|
||||
@ -68,8 +66,7 @@ class TestZefaniaImport(TestCase):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'dk1933.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'dk1933.json')
|
||||
bible_file = 'zefania-dk1933.xml'
|
||||
with patch('openlp.plugins.bibles.lib.importers.zefania.ZefaniaBible.application'):
|
||||
mocked_manager = MagicMock()
|
||||
@ -98,8 +95,7 @@ class TestZefaniaImport(TestCase):
|
||||
"""
|
||||
# GIVEN: Test files with a mocked out "manager", "import_wizard", and mocked functions
|
||||
# get_book_ref_id_by_name, create_verse, create_book, session and get_language.
|
||||
file_data = (TEST_PATH / 'rst.json').read_text()
|
||||
test_data = json.loads(file_data)
|
||||
test_data = load_external_result_data(TEST_PATH / 'rst.json')
|
||||
bible_file = 'zefania-rst.xml'
|
||||
with patch('openlp.plugins.bibles.lib.importers.zefania.ZefaniaBible.application'):
|
||||
mocked_manager = MagicMock()
|
||||
|
@ -22,7 +22,6 @@
|
||||
"""
|
||||
This module contains tests for the WorshipCenter Pro song importer.
|
||||
"""
|
||||
import json
|
||||
from unittest import TestCase, skipUnless
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
@ -33,6 +32,7 @@ try:
|
||||
except ImportError:
|
||||
CAN_RUN_TESTS = False
|
||||
|
||||
from tests.utils import load_external_result_data
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = RESOURCE_PATH / 'opsprosongs'
|
||||
@ -106,8 +106,7 @@ class TestOpsProSongImport(TestCase):
|
||||
importer.process_song(song, lyrics, [])
|
||||
|
||||
# THEN: The imported data should look like expected
|
||||
file_data = (TEST_PATH / 'You are so faithful.json').read_text()
|
||||
result_data = json.loads(file_data)
|
||||
result_data = load_external_result_data(TEST_PATH / 'You are so faithful.json')
|
||||
self.assertListEqual(importer.verses, _get_item(result_data, 'verses'))
|
||||
self.assertListEqual(importer.verse_order_list_generated, _get_item(result_data, 'verse_order_list'))
|
||||
|
||||
@ -126,8 +125,7 @@ class TestOpsProSongImport(TestCase):
|
||||
importer.process_song(song, lyrics, [])
|
||||
|
||||
# THEN: The imported data should look like expected
|
||||
file_data = (TEST_PATH / 'Amazing Grace.json').read_text()
|
||||
result_data = json.loads(file_data)
|
||||
result_data = load_external_result_data(TEST_PATH / 'Amazing Grace.json')
|
||||
self.assertListEqual(importer.verses, _get_item(result_data, 'verses'))
|
||||
self.assertListEqual(importer.verse_order_list_generated, _get_item(result_data, 'verse_order_list'))
|
||||
|
||||
@ -146,8 +144,7 @@ class TestOpsProSongImport(TestCase):
|
||||
importer.process_song(song, lyrics, [])
|
||||
|
||||
# THEN: The imported data should look like expected
|
||||
file_data = (TEST_PATH / 'Amazing Grace.json').read_text()
|
||||
result_data = json.loads(file_data)
|
||||
result_data = load_external_result_data(TEST_PATH / 'Amazing Grace.json')
|
||||
self.assertListEqual(importer.verses, _get_item(result_data, 'verses'))
|
||||
self.assertListEqual(importer.verse_order_list_generated, _get_item(result_data, 'verse_order_list'))
|
||||
|
||||
@ -166,7 +163,6 @@ class TestOpsProSongImport(TestCase):
|
||||
importer.process_song(song, lyrics, [])
|
||||
|
||||
# THEN: The imported data should look like expected
|
||||
file_data = (TEST_PATH / 'Amazing Grace3.json').read_text()
|
||||
result_data = json.loads(file_data)
|
||||
result_data = load_external_result_data(TEST_PATH / 'Amazing Grace3.json')
|
||||
self.assertListEqual(importer.verses, _get_item(result_data, 'verses'))
|
||||
self.assertListEqual(importer.verse_order_list_generated, _get_item(result_data, 'verse_order_list'))
|
||||
|
@ -23,14 +23,10 @@
|
||||
The :mod:`powerpraiseimport` module provides the functionality for importing
|
||||
ProPresenter song files into the current installation database.
|
||||
"""
|
||||
import os
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'powerpraisesongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'powerpraisesongs'
|
||||
|
||||
|
||||
class TestPowerPraiseFileImport(SongImportTestHelper):
|
||||
@ -44,7 +40,7 @@ class TestPowerPraiseFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading a PowerPraise file works correctly
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'Naher, mein Gott zu Dir.ppl')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Naher, mein Gott zu Dir.json')))
|
||||
self.file_import([Path(TEST_PATH, 'You are so faithful.ppl')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'You are so faithful.json')))
|
||||
self.file_import([TEST_PATH / 'Naher, mein Gott zu Dir.ppl'],
|
||||
self.load_external_result_data(TEST_PATH / 'Naher, mein Gott zu Dir.json'))
|
||||
self.file_import([TEST_PATH / 'You are so faithful.ppl'],
|
||||
self.load_external_result_data(TEST_PATH / 'You are so faithful.json'))
|
||||
|
@ -22,14 +22,10 @@
|
||||
"""
|
||||
This module contains tests for the PresentationManager song importer.
|
||||
"""
|
||||
import os
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'presentationmanagersongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'presentationmanagersongs'
|
||||
|
||||
|
||||
class TestPresentationManagerFileImport(SongImportTestHelper):
|
||||
@ -43,7 +39,7 @@ class TestPresentationManagerFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading a PresentationManager file works correctly
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'Great Is Thy Faithfulness.sng')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Great Is Thy Faithfulness.json')))
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace.sng')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import([TEST_PATH / 'Great Is Thy Faithfulness.sng'],
|
||||
self.load_external_result_data(TEST_PATH / 'Great Is Thy Faithfulness.json'))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace.sng'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
|
@ -23,14 +23,10 @@
|
||||
The :mod:`propresenterimport` module provides the functionality for importing
|
||||
ProPresenter song files into the current installation database.
|
||||
"""
|
||||
import os
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'propresentersongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'propresentersongs'
|
||||
|
||||
|
||||
class TestProPresenterFileImport(SongImportTestHelper):
|
||||
@ -44,19 +40,19 @@ class TestProPresenterFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading a ProPresenter 4 file works correctly
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace.pro4')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace.pro4'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
|
||||
def test_pro5_song_import(self):
|
||||
"""
|
||||
Test that loading a ProPresenter 5 file works correctly
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace.pro5')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace.pro5'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
|
||||
def test_pro6_song_import(self):
|
||||
"""
|
||||
Test that loading a ProPresenter 6 file works correctly
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace.pro6')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace.pro6'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
|
@ -22,18 +22,16 @@
|
||||
"""
|
||||
This module contains tests for the Songbeamer song importer.
|
||||
"""
|
||||
import os
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from openlp.core.common.registry import Registry
|
||||
from openlp.core.common.path import Path
|
||||
from openlp.plugins.songs.lib.importers.songbeamer import SongBeamerImport, SongBeamerTypes
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__),
|
||||
'..', '..', '..', 'resources', 'songbeamersongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'songbeamersongs'
|
||||
|
||||
|
||||
class TestSongBeamerFileImport(SongImportTestHelper):
|
||||
@ -52,19 +50,19 @@ class TestSongBeamerFileImport(SongImportTestHelper):
|
||||
mocked_returned_settings = MagicMock()
|
||||
mocked_returned_settings.value.side_effect = lambda value: True if value == 'songs/enable chords' else False
|
||||
mocked_settings.return_value = mocked_returned_settings
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace.sng')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import([Path(TEST_PATH, 'Lobsinget dem Herrn.sng')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Lobsinget dem Herrn.json')))
|
||||
self.file_import([Path(TEST_PATH, 'When I Call On You.sng')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'When I Call On You.json')))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace.sng'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
self.file_import([TEST_PATH / 'Lobsinget dem Herrn.sng'],
|
||||
self.load_external_result_data(TEST_PATH / 'Lobsinget dem Herrn.json'))
|
||||
self.file_import([TEST_PATH / 'When I Call On You.sng'],
|
||||
self.load_external_result_data(TEST_PATH / 'When I Call On You.json'))
|
||||
|
||||
def test_cp1252_encoded_file(self):
|
||||
"""
|
||||
Test that a CP1252 encoded file get's decoded properly.
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'cp1252song.sng')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'cp1252song.json')))
|
||||
self.file_import([TEST_PATH / 'cp1252song.sng'],
|
||||
self.load_external_result_data(TEST_PATH / 'cp1252song.json'))
|
||||
|
||||
|
||||
class TestSongBeamerImport(TestCase):
|
||||
|
@ -23,14 +23,10 @@
|
||||
The :mod:`songproimport` module provides the functionality for importing
|
||||
SongPro song files into the current installation database.
|
||||
"""
|
||||
import os
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'songprosongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'songprosongs'
|
||||
|
||||
|
||||
class TestSongProFileImport(SongImportTestHelper):
|
||||
@ -44,5 +40,5 @@ class TestSongProFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading an SongPro file works correctly
|
||||
"""
|
||||
self.file_import(Path(TEST_PATH, 'amazing-grace.txt'),
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import(TEST_PATH / 'amazing-grace.txt',
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
|
@ -23,7 +23,6 @@
|
||||
"""
|
||||
This module contains tests for the CCLI SongSelect importer.
|
||||
"""
|
||||
import os
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock, patch, call
|
||||
from urllib.error import URLError
|
||||
@ -31,16 +30,15 @@ from urllib.error import URLError
|
||||
from PyQt5 import QtWidgets
|
||||
|
||||
from openlp.core.common.registry import Registry
|
||||
from openlp.core.common.path import Path
|
||||
from openlp.plugins.songs.forms.songselectform import SongSelectForm, SearchWorker
|
||||
from openlp.plugins.songs.lib import Song
|
||||
from openlp.plugins.songs.lib.songselect import SongSelectImport, LOGOUT_URL, BASE_URL
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.helpers.testmixin import TestMixin
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'songselect'))
|
||||
TEST_PATH = RESOURCE_PATH / 'songselect'
|
||||
|
||||
|
||||
class TestSongSelectImport(TestCase, TestMixin):
|
||||
@ -817,10 +815,8 @@ class TestSongSelectFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading an OpenSong file works correctly on various files
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'TestSong.bin')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'TestSong-bin.json')))
|
||||
self.file_import([Path(TEST_PATH, 'TestSong.txt')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'TestSong-txt.json')))
|
||||
self.file_import([TEST_PATH / 'TestSong.bin'], self.load_external_result_data(TEST_PATH / 'TestSong-bin.json'))
|
||||
self.file_import([TEST_PATH / 'TestSong.txt'], self.load_external_result_data(TEST_PATH / 'TestSong-txt.json'))
|
||||
|
||||
|
||||
class TestSearchWorker(TestCase, TestMixin):
|
||||
|
@ -22,18 +22,16 @@
|
||||
"""
|
||||
This module contains tests for the SongShow Plus song importer.
|
||||
"""
|
||||
import os
|
||||
from unittest import TestCase
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
from openlp.plugins.songs.lib import VerseType
|
||||
from openlp.plugins.songs.lib.importers.songshowplus import SongShowPlusImport
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'songshowplussongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'songshowplussongs'
|
||||
|
||||
|
||||
class TestSongShowPlusFileImport(SongImportTestHelper):
|
||||
@ -47,14 +45,14 @@ class TestSongShowPlusFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading a SongShow Plus file works correctly on various files
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace.sbsong')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import([Path(TEST_PATH, 'Beautiful Garden Of Prayer.sbsong')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Beautiful Garden Of Prayer.json')))
|
||||
self.file_import([Path(TEST_PATH, 'a mighty fortress is our god.sbsong')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'a mighty fortress is our god.json')))
|
||||
self.file_import([Path(TEST_PATH, 'cleanse-me.sbsong')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'cleanse-me.json')))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace.sbsong'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
self.file_import([TEST_PATH / 'Beautiful Garden Of Prayer.sbsong'],
|
||||
self.load_external_result_data(TEST_PATH / 'Beautiful Garden Of Prayer.json'))
|
||||
self.file_import([TEST_PATH / 'a mighty fortress is our god.sbsong'],
|
||||
self.load_external_result_data(TEST_PATH / 'a mighty fortress is our god.json'))
|
||||
self.file_import([TEST_PATH / 'cleanse-me.sbsong'],
|
||||
self.load_external_result_data(TEST_PATH / 'cleanse-me.json'))
|
||||
|
||||
|
||||
class TestSongShowPlusImport(TestCase):
|
||||
|
@ -21,15 +21,12 @@
|
||||
"""
|
||||
This module contains tests for the SundayPlus song importer.
|
||||
"""
|
||||
import os
|
||||
from unittest.mock import patch
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'sundayplussongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'sundayplussongs'
|
||||
|
||||
|
||||
class TestSundayPlusFileImport(SongImportTestHelper):
|
||||
@ -46,5 +43,5 @@ class TestSundayPlusFileImport(SongImportTestHelper):
|
||||
with patch('openlp.plugins.songs.lib.importers.sundayplus.retrieve_windows_encoding') as \
|
||||
mocked_retrieve_windows_encoding:
|
||||
mocked_retrieve_windows_encoding.return_value = 'cp1252'
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace.ptf')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace.json')))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace.ptf'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace.json'))
|
||||
|
@ -21,15 +21,12 @@
|
||||
"""
|
||||
This module contains tests for the VideoPsalm song importer.
|
||||
"""
|
||||
import os
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from unittest.mock import patch, MagicMock
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'videopsalmsongs'))
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = RESOURCE_PATH / 'videopsalmsongs'
|
||||
|
||||
|
||||
class TestVideoPsalmFileImport(SongImportTestHelper):
|
||||
@ -49,7 +46,7 @@ class TestVideoPsalmFileImport(SongImportTestHelper):
|
||||
mocked_returned_settings.value.side_effect = lambda value: True if value == 'songs/enable chords' else False
|
||||
mocked_settings.return_value = mocked_returned_settings
|
||||
# Do the test import
|
||||
self.file_import(Path(TEST_PATH, 'videopsalm-as-safe-a-stronghold.json'),
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'as-safe-a-stronghold.json')))
|
||||
self.file_import(Path(TEST_PATH, 'videopsalm-as-safe-a-stronghold2.json'),
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'as-safe-a-stronghold2.json')))
|
||||
self.file_import(TEST_PATH / 'videopsalm-as-safe-a-stronghold.json',
|
||||
self.load_external_result_data(TEST_PATH / 'as-safe-a-stronghold.json'))
|
||||
self.file_import(TEST_PATH / 'videopsalm-as-safe-a-stronghold2.json',
|
||||
self.load_external_result_data(TEST_PATH / 'as-safe-a-stronghold2.json'))
|
||||
|
@ -22,15 +22,10 @@
|
||||
"""
|
||||
This module contains tests for the Words of Worship song importer.
|
||||
"""
|
||||
import os
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from openlp.plugins.songs.lib.importers.wordsofworship import WordsOfWorshipImport
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'wordsofworshipsongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'wordsofworshipsongs'
|
||||
|
||||
|
||||
class TestWordsOfWorshipFileImport(SongImportTestHelper):
|
||||
@ -44,10 +39,9 @@ class TestWordsOfWorshipFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading a Words of Worship file works correctly
|
||||
"""
|
||||
self.file_import([Path(TEST_PATH, 'Amazing Grace (6 Verses).wow-song')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'Amazing Grace (6 Verses).json')))
|
||||
self.file_import([Path(TEST_PATH, 'When morning gilds the skies.wsg')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'When morning gilds the skies.json')))
|
||||
self.file_import([Path(TEST_PATH, 'Holy Holy Holy Lord God Almighty.wow-song')],
|
||||
self.load_external_result_data(os.path.join(TEST_PATH,
|
||||
'Holy Holy Holy Lord God Almighty.json')))
|
||||
self.file_import([TEST_PATH / 'Amazing Grace (6 Verses).wow-song'],
|
||||
self.load_external_result_data(TEST_PATH / 'Amazing Grace (6 Verses).json'))
|
||||
self.file_import([TEST_PATH / 'When morning gilds the skies.wsg'],
|
||||
self.load_external_result_data(TEST_PATH / 'When morning gilds the skies.json'))
|
||||
self.file_import([TEST_PATH / 'Holy Holy Holy Lord God Almighty.wow-song'],
|
||||
self.load_external_result_data(TEST_PATH / 'Holy Holy Holy Lord God Almighty.json'))
|
||||
|
@ -23,14 +23,10 @@
|
||||
The :mod:`worshipassistantimport` module provides the functionality for importing
|
||||
WorshipAssistant song files into the current installation database.
|
||||
"""
|
||||
import os
|
||||
|
||||
from openlp.core.common.path import Path
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'worshipassistantsongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'worshipassistantsongs'
|
||||
|
||||
|
||||
class TestWorshipAssistantFileImport(SongImportTestHelper):
|
||||
@ -44,9 +40,8 @@ class TestWorshipAssistantFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading an Worship Assistant file works correctly
|
||||
"""
|
||||
self.file_import(Path(TEST_PATH, 'du_herr.csv'),
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'du_herr.json')))
|
||||
self.file_import(Path(TEST_PATH, 'would_you_be_free.csv'),
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'would_you_be_free.json')))
|
||||
self.file_import(Path(TEST_PATH, 'would_you_be_free2.csv'),
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'would_you_be_free.json')))
|
||||
self.file_import(TEST_PATH / 'du_herr.csv', self.load_external_result_data(TEST_PATH / 'du_herr.json'))
|
||||
self.file_import(TEST_PATH / 'would_you_be_free.csv',
|
||||
self.load_external_result_data(TEST_PATH / 'would_you_be_free.json'))
|
||||
self.file_import(TEST_PATH / 'would_you_be_free2.csv',
|
||||
self.load_external_result_data(TEST_PATH/ 'would_you_be_free.json'))
|
||||
|
@ -22,19 +22,17 @@
|
||||
"""
|
||||
This module contains tests for the ZionWorx song importer.
|
||||
"""
|
||||
import os
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
from openlp.core.common.registry import Registry
|
||||
from openlp.core.common.path import Path
|
||||
from openlp.plugins.songs.lib.importers.zionworx import ZionWorxImport
|
||||
from openlp.plugins.songs.lib.importers.songimport import SongImport
|
||||
from openlp.plugins.songs.lib.importers.zionworx import ZionWorxImport
|
||||
|
||||
from tests.helpers.songfileimport import SongImportTestHelper
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), '..', '..', '..', 'resources', 'zionworxsongs'))
|
||||
TEST_PATH = RESOURCE_PATH / 'zionworxsongs'
|
||||
|
||||
|
||||
class TestZionWorxImport(TestCase):
|
||||
@ -73,5 +71,4 @@ class TestZionWorxFileImport(SongImportTestHelper):
|
||||
"""
|
||||
Test that loading an ZionWorx file works correctly on various files
|
||||
"""
|
||||
self.file_import(Path(TEST_PATH, 'zionworx.csv'),
|
||||
self.load_external_result_data(os.path.join(TEST_PATH, 'zionworx.json')))
|
||||
self.file_import(TEST_PATH / 'zionworx.csv', self.load_external_result_data(TEST_PATH / 'zionworx.json'))
|
||||
|
@ -29,7 +29,6 @@ from unittest import TestCase
|
||||
from unittest.mock import MagicMock, patch, call
|
||||
|
||||
from openlp.core.common.registry import Registry
|
||||
from openlp.plugins.songs.lib.importers.opensong import OpenSongImport
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
@ -78,13 +77,13 @@ class SongImportTestHelper(TestCase):
|
||||
self.add_author_patcher.stop()
|
||||
self.song_import_patcher.stop()
|
||||
|
||||
def load_external_result_data(self, file_name):
|
||||
def load_external_result_data(self, file_path):
|
||||
"""
|
||||
A method to load and return an object containing the song data from an external file.
|
||||
|
||||
:param openlp.core.common.path.Path file_path: The path of the file to load
|
||||
"""
|
||||
# TODO: To path object
|
||||
result_file = open(str(file_name, 'rb'))
|
||||
return json.loads(result_file.read().decode())
|
||||
return json.loads(file_path.read_text())
|
||||
|
||||
def file_import(self, source_file_name, result_data):
|
||||
"""
|
||||
|
@ -22,13 +22,13 @@
|
||||
"""
|
||||
Package to test the openlp.core.ui.media package.
|
||||
"""
|
||||
|
||||
import os
|
||||
from unittest import TestCase
|
||||
|
||||
from openlp.core.ui.media.vendor.mediainfoWrapper import MediaInfoWrapper
|
||||
|
||||
TEST_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', '..', '..', '..', 'resources', 'media'))
|
||||
from tests.utils.constants import RESOURCE_PATH
|
||||
|
||||
TEST_PATH = RESOURCE_PATH / 'media'
|
||||
TEST_MEDIA = [['avi_file.avi', 61495], ['mp3_file.mp3', 134426], ['mpg_file.mpg', 9404], ['mp4_file.mp4', 188336]]
|
||||
|
||||
|
||||
@ -40,7 +40,7 @@ class TestMediainfoWrapper(TestCase):
|
||||
"""
|
||||
for test_data in TEST_MEDIA:
|
||||
# GIVEN: a media file
|
||||
full_path = os.path.normpath(os.path.join(TEST_PATH, test_data[0]))
|
||||
full_path = str(TEST_PATH / test_data[0])
|
||||
|
||||
# WHEN the media data is retrieved
|
||||
results = MediaInfoWrapper.parse(full_path)
|
||||
|
@ -41,3 +41,12 @@ def convert_file_service_item(test_path, name, row=0):
|
||||
finally:
|
||||
open_file.close()
|
||||
return first_line
|
||||
|
||||
|
||||
def load_external_result_data(file_path):
|
||||
"""
|
||||
A method to load and return an object containing the song data from an external file.
|
||||
|
||||
:param openlp.core.common.path.Path file_path: The path of the file to load
|
||||
"""
|
||||
return json.loads(file_path.read_text())
|
||||
|
Loading…
Reference in New Issue
Block a user