示例#1
0
    def test_do_import_source_invalid(self):
        """
        Test the :mod:`do_import` module produces an error when Songs.MB not found.
        """
        # GIVEN: A mocked out SongImport class, a mocked out "manager"
        with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
                patch('openlp.plugins.songs.lib.importers.easyworship.os.path') as mocked_os_path:
            mocked_manager = MagicMock()
            importer = EasyWorshipSongImport(mocked_manager, filenames=[])
            importer.log_error = MagicMock()
            mocked_os_path.isfile.side_effect = [True, False]

            # WHEN: do_import is supplied with an import source (Songs.MB missing)
            importer.import_source = 'Songs.DB'
            importer.do_import()

            # THEN: do_import should have logged an error that the Songs.MB file could not be found.
            importer.log_error.assert_any_call(importer.import_source, 'Could not find the "Songs.MB" file. It must be '
                                                                       'in the same folder as the "Songs.DB" file.')
示例#2
0
    def do_import_source_invalid_test(self):
        """
        Test the :mod:`do_import` module produces an error when Songs.MB not found.
        """
        # GIVEN: A mocked out SongImport class, a mocked out "manager"
        with patch('openlp.plugins.songs.lib.importers.easyworship.SongImport'), \
                patch('openlp.plugins.songs.lib.importers.easyworship.os.path') as mocked_os_path:
            mocked_manager = MagicMock()
            importer = EasyWorshipSongImport(mocked_manager, filenames=[])
            importer.log_error = MagicMock()
            mocked_os_path.isfile.side_effect = [True, False]

            # WHEN: do_import is supplied with an import source (Songs.MB missing)
            importer.import_source = 'Songs.DB'
            importer.do_import()

            # THEN: do_import should have logged an error that the Songs.MB file could not be found.
            importer.log_error.assert_any_call(importer.import_source, 'Could not find the "Songs.MB" file. It must be '
                                                                       'in the same folder as the "Songs.DB" file.')