Fix Windows tests when running on WINE

bzr-revno: 2477
This commit is contained in:
Tomas Groth 2015-01-16 22:42:00 +02:00 committed by Raoul Snyman
commit cf30667fb5
12 changed files with 48 additions and 44 deletions

View File

@ -156,7 +156,10 @@ def upgrade_db(url, upgrade):
except (SQLAlchemyError, DBAPIError):
version_meta = Metadata.populate(key='version', value=int(upgrade.__version__))
session.commit()
return int(version_meta.value), upgrade.__version__
upgrade_version = upgrade.__version__
version_meta = int(version_meta.value)
session.close()
return version_meta, upgrade_version
def delete_database(plugin_name, db_file_name=None):

View File

@ -125,7 +125,6 @@ class InfoLabel(QtGui.QLabel):
alignment = QtCore.Qt.AlignLeft
painter.drawText(self.rect(), alignment, elided)
def setText(self, text):
"""
Reimplemented to set the tool tip text.

View File

@ -49,7 +49,7 @@ class WorshipCenterProImport(SongImport):
"""
Initialise the WorshipCenter Pro importer.
"""
SongImport.__init__(self, manager, **kwargs)
super(WorshipCenterProImport, self).__init__(manager, **kwargs)
def do_import(self):
"""

View File

@ -39,7 +39,7 @@ from openlp.core.ui import MainDisplay
from openlp.core.ui.maindisplay import TRANSPARENT_STYLESHEET, OPAQUE_STYLESHEET
from tests.helpers.testmixin import TestMixin
from tests.functional import MagicMock
from tests.functional import MagicMock, patch
SCREEN = {
'primary': False,
@ -64,11 +64,14 @@ class TestMainDisplay(TestCase, TestMixin):
self.registry = Registry()
self.setup_application()
Registry().register('application', self.app)
self.mocked_audio_player = patch('openlp.core.ui.maindisplay.AudioPlayer')
self.mocked_audio_player.start()
def tearDown(self):
"""
Delete QApplication.
"""
self.mocked_audio_player.stop()
del self.screens
def initial_main_display_test(self):

View File

@ -560,6 +560,7 @@ class TestSlideController(TestCase):
mocked_preview_widget.change_slide.assert_called_once_with(7)
mocked_slide_selected.assert_called_once_with()
class TestInfoLabel(TestCase):
def paint_event_text_fits_test(self):

View File

@ -54,7 +54,6 @@ class TestThemeManager(TestCase):
**{'return_value': ''}) as mocked_get_open_file_name,\
patch('openlp.core.ui.themeform.translate', **{'return_value': 'Translated String'}),\
patch('openlp.core.ui.ThemeForm.set_background_page_values') as mocked_set_background_page_values:
instance = ThemeForm(None)
mocked_image_file_edit = MagicMock()
mocked_image_file_edit.text.return_value = '/original_path/file.ext'
@ -66,8 +65,8 @@ class TestThemeManager(TestCase):
# THEN: The QFileDialog getOpenFileName and set_background_page_values moethods should have been called
# with known arguments
mocked_get_open_file_name.assert_called_once_with(instance, 'Translated String', '/original_path/file.ext',
'Image Files (*.bmp; *.gif)(*.bmp *.gif);;All Files (*.*)'
)
'Image Files (*.bmp; *.gif)(*.bmp *.gif);;'
'All Files (*.*)')
mocked_set_background_page_values.assert_called_once_with()
def select_image_file_dialog_new_file_test(self):
@ -82,7 +81,6 @@ class TestThemeManager(TestCase):
**{'return_value': '/new_path/file.ext'}) as mocked_get_open_file_name,\
patch('openlp.core.ui.themeform.translate', **{'return_value': 'Translated String'}),\
patch('openlp.core.ui.ThemeForm.set_background_page_values') as mocked_background_page_values:
instance = ThemeForm(None)
mocked_image_file_edit = MagicMock()
mocked_image_file_edit.text.return_value = '/original_path/file.ext'
@ -95,8 +93,8 @@ class TestThemeManager(TestCase):
# THEN: The QFileDialog getOpenFileName and set_background_page_values moethods should have been called
# with known arguments and theme.background_filename should be set
mocked_get_open_file_name.assert_called_once_with(instance, 'Translated String', '/original_path/file.ext',
'Image Files (*.bmp; *.gif)(*.bmp *.gif);;All Files (*.*)'
)
'Image Files (*.bmp; *.gif)(*.bmp *.gif);;'
'All Files (*.*)')
self.assertEqual(instance.theme.background_filename, '/new_path/file.ext',
'theme.background_filename should be set to the path that the file dialog returns')
mocked_background_page_values.assert_called_once_with()

View File

@ -36,10 +36,11 @@ if os.name != 'nt':
raise SkipTest('Not Windows, skipping test')
import pyodbc
from openlp.plugins.songs.lib.importers.worshipcenterpro import WorshipCenterProImport
from tests.functional import patch, MagicMock
from openlp.core.common import Registry
from openlp.plugins.songs.lib.importers.worshipcenterpro import WorshipCenterProImport
class TestRecord(object):
"""
@ -61,7 +62,7 @@ class WorshipCenterProImportLogger(WorshipCenterProImport):
_title_assignment_list = []
def __init__(self, manager):
WorshipCenterProImport.__init__(self, manager)
WorshipCenterProImport.__init__(self, manager, filenames=[])
@property
def title(self):
@ -136,6 +137,12 @@ class TestWorshipCenterProSongImport(TestCase):
"""
Test the functions in the :mod:`worshipcenterproimport` module.
"""
def setUp(self):
"""
Create the registry
"""
Registry.create()
def create_importer_test(self):
"""
Test creating an instance of the WorshipCenter Pro file importer
@ -145,7 +152,7 @@ class TestWorshipCenterProSongImport(TestCase):
mocked_manager = MagicMock()
# WHEN: An importer object is created
importer = WorshipCenterProImport(mocked_manager)
importer = WorshipCenterProImport(mocked_manager, filenames=[])
# THEN: The importer object should not be None
self.assertIsNotNone(importer, 'Import should not be none')
@ -157,13 +164,12 @@ class TestWorshipCenterProSongImport(TestCase):
# GIVEN: A mocked out SongImport class, a mocked out pyodbc module, a mocked out translate method,
# a mocked "manager" and a mocked out log_error method.
with patch('openlp.plugins.songs.lib.importers.worshipcenterpro.SongImport'), \
patch('openlp.plugins.songs.lib.importers.worshipcenterpro.pyodbc.connect') \
as mocked_pyodbc_connect, \
patch('openlp.plugins.songs.lib.importers.worshipcenterpro.pyodbc.connect') as mocked_pyodbc_connect, \
patch('openlp.plugins.songs.lib.importers.worshipcenterpro.translate') as mocked_translate:
mocked_manager = MagicMock()
mocked_log_error = MagicMock()
mocked_translate.return_value = 'Translated Text'
importer = WorshipCenterProImport(mocked_manager)
importer = WorshipCenterProImport(mocked_manager, filenames=[])
importer.log_error = mocked_log_error
importer.import_source = 'import_source'
pyodbc_errors = [pyodbc.DatabaseError, pyodbc.IntegrityError, pyodbc.InternalError, pyodbc.OperationalError]

View File

@ -31,8 +31,6 @@ Interface tests to test the openlp.core.ui.projector.editform.ProjectorEditForm(
class and methods.
"""
import os
import tempfile
from unittest import TestCase
from openlp.core.common import Registry, Settings
@ -43,8 +41,6 @@ from tests.functional import patch
from tests.helpers.testmixin import TestMixin
from tests.resources.projector.data import TEST1_DATA, TEST2_DATA
tmpfile = tempfile.mkstemp(prefix='openlp-test-projectormanager', suffix='.sql')[1]
class TestProjectorEditForm(TestCase, TestMixin):
"""
@ -60,8 +56,7 @@ class TestProjectorEditForm(TestCase, TestMixin):
self.setup_application()
Registry.create()
with patch('openlp.core.lib.projector.db.init_url') as mocked_init_url:
mocked_init_url.start()
mocked_init_url.return_value = 'sqlite:///{}'.format(tmpfile)
mocked_init_url.return_value = 'sqlite://'
self.projectordb = ProjectorDB()
self.projector_form = ProjectorEditForm(projectordb=self.projectordb)
@ -74,7 +69,6 @@ class TestProjectorEditForm(TestCase, TestMixin):
"""
self.projectordb.session.close()
del(self.projector_form)
os.remove(tmpfile)
self.destroy_settings()
def edit_form_add_projector_test(self):