~thelinuxguy/openlp/bible-improvements

« back to all changes in this revision

Viewing changes to tests/functional/openlp_plugins/bibles/test_osisimport.py

  • Committer: Tim Bentley
  • Date: 2017-12-24 07:27:40 UTC
  • mfrom: (2792.1.47 fixes)
  • Revision ID: tim.bentley@gmail.com-20171224072740-6vxvu19b4uenr501
All tests migrated to assert from self.assert except projection
All tests pass on linux with pytest and nose2

lp:~trb143/openlp/asserts2 (revision 2839)
https://ci.openlp.io/job/Branch-01-Pull/2381/                          [SUCCESS]
https://ci.openlp.io/job/Branch-02a-Linux-Tests/2282/                  [SUCCESS]
  File "./scripts/jenkins_script.py", line 256, in <module>
    main()
  File "./scripts/jenkins_script.py", line 252, in main
    jenkins_trigger.print_output(can_continue=args.alw...

Show diffs side-by-side

added added

removed removed

Lines of Context:
67
67
        importer = OSISBible(mocked_manager, path='.', name='.', file_path=None)
68
68
 
69
69
        # THEN: The importer should be an instance of BibleDB
70
 
        self.assertIsInstance(importer, BibleDB)
 
70
        assert isinstance(importer, BibleDB)
71
71
 
72
72
    def test_process_books_stop_import(self):
73
73
        """
82
82
        importer.process_books(mocked_data)
83
83
 
84
84
        # THEN: find_and_create_book should not have been called
85
 
        self.assertFalse(self.mocked_find_and_create_book.called)
 
85
        assert self.mocked_find_and_create_book.called is False
86
86
 
87
87
    def test_process_books_completes(self):
88
88
        """
106
106
            importer.process_books(mocked_data)
107
107
 
108
108
            # THEN: find_and_create_book and process_books should be called with the details from the mocked books
109
 
            self.assertEqual(self.mocked_find_and_create_book.call_args_list,
110
 
                             [call('Name1', 2, 10), call('Name2', 2, 10)])
111
 
            self.assertEqual(mocked_process_chapters.call_args_list,
112
 
                             [call('db_book1', book1), call('db_book2', book2)])
113
 
            self.assertEqual(importer.session.commit.call_count, 2)
 
109
            assert self.mocked_find_and_create_book.call_args_list == [call('Name1', 2, 10), call('Name2', 2, 10)]
 
110
            assert mocked_process_chapters.call_args_list == [call('db_book1', book1), call('db_book2', book2)]
 
111
            assert importer.session.commit.call_count == 2
114
112
 
115
113
    def test_process_chapters_verse_in_chapter_verse_text(self):
116
114
        """
185
183
            importer.process_chapters(test_book, [test_chapter])
186
184
 
187
185
            # THEN: neither set_current_chapter or process_verse should have been called
188
 
            self.assertFalse(mocked_set_current_chapter.called)
189
 
            self.assertFalse(mocked_process_verse.called)
 
186
            assert mocked_set_current_chapter.called is False
 
187
            assert mocked_process_verse.called is False
190
188
 
191
189
    def test_process_chapters_milestones_chapter_sid(self):
192
190
        """
209
207
 
210
208
            # THEN: set_current_chapter should have been called with the test data
211
209
            mocked_set_current_chapter.assert_called_once_with(test_book.name, 2)
212
 
            self.assertFalse(mocked_process_verse.called)
 
210
            assert mocked_process_verse.called is False
213
211
 
214
212
    def test_process_chapters_milestones_verse_tag(self):
215
213
        """
233
231
            importer.process_chapters(test_book, [test_verse])
234
232
 
235
233
            # THEN: process_verse should have been called with the test data
236
 
            self.assertFalse(mocked_set_current_chapter.called)
 
234
            assert mocked_set_current_chapter.called is False
237
235
            mocked_process_verse.assert_called_once_with(test_book, 0, test_verse, use_milestones=True)
238
236
 
239
237
    def test_process_verse_no_osis_id(self):
252
250
        importer.process_verse(test_book, 2, test_verse)
253
251
 
254
252
        # THEN: create_verse should not have been called
255
 
        self.assertFalse(self.mocked_create_verse.called)
 
253
        assert self.mocked_create_verse.called is False
256
254
 
257
255
    def test_process_verse_use_milestones_no_s_id(self):
258
256
        """
271
269
        importer.process_verse(test_book, 2, test_verse)
272
270
 
273
271
        # THEN: create_verse should not have been called
274
 
        self.assertFalse(self.mocked_create_verse.called)
 
272
        assert self.mocked_create_verse.called is False
275
273
 
276
274
    def test_process_verse_use_milestones_no_tail(self):
277
275
        """
289
287
        importer.process_verse(test_book, 2, test_verse, use_milestones=True)
290
288
 
291
289
        # THEN: create_verse should not have been called
292
 
        self.assertFalse(self.mocked_create_verse.called)
 
290
        assert self.mocked_create_verse.called is False
293
291
 
294
292
    def test_process_verse_use_milestones_success(self):
295
293
        """
327
325
        importer.process_verse(test_book, 2, test_verse)
328
326
 
329
327
        # THEN: create_verse should not have been called
330
 
        self.assertFalse(self.mocked_create_verse.called)
 
328
        assert self.mocked_create_verse.called is False
331
329
 
332
330
    def test_process_verse_success(self):
333
331
        """
363
361
            result = importer.do_import()
364
362
 
365
363
            # THEN: do_import should return False and get_language_id should have not been called
366
 
            self.assertFalse(result)
367
 
            self.assertFalse(mocked_language_id.called)
 
364
            assert result is False
 
365
            assert mocked_language_id.called is False
368
366
 
369
367
    def test_do_import_no_language(self):
370
368
        """
382
380
            result = importer.do_import()
383
381
 
384
382
            # THEN: do_import should return False and process_books should have not been called
385
 
            self.assertFalse(result)
386
 
            self.assertFalse(mocked_process_books.called)
 
383
            assert result is False
 
384
            assert mocked_process_books.called is False
387
385
 
388
386
    def test_do_import_completes(self):
389
387
        """
401
399
            result = importer.do_import()
402
400
 
403
401
            # THEN: do_import should return True
404
 
            self.assertTrue(result)
 
402
            assert result is True
405
403
 
406
404
 
407
405
class TestOsisImportFileImports(TestCase):
442
440
            importer.do_import()
443
441
 
444
442
            # THEN: The create_verse() method should have been called with each verse in the file.
445
 
            self.assertTrue(importer.create_verse.called)
 
443
            assert importer.create_verse.called is True
446
444
            for verse_tag, verse_text in test_data['verses']:
447
445
                importer.create_verse.assert_any_call(importer.create_book().id, 1, verse_tag, verse_text)
448
446
 
472
470
            importer.do_import()
473
471
 
474
472
            # THEN: The create_verse() method should have been called with each verse in the file.
475
 
            self.assertTrue(importer.create_verse.called)
 
473
            assert importer.create_verse.called is True
476
474
            for verse_tag, verse_text in test_data['verses']:
477
475
                    importer.create_verse.assert_any_call(importer.create_book().id, 1, verse_tag, verse_text)
478
476
 
502
500
            importer.do_import()
503
501
 
504
502
            # THEN: The create_verse() method should have been called with each verse in the file.
505
 
            self.assertTrue(importer.create_verse.called)
 
503
            assert importer.create_verse.called
506
504
            for verse_tag, verse_text in test_data['verses']:
507
505
                importer.create_verse.assert_any_call(importer.create_book().id, 1, verse_tag, verse_text)
508
506
 
532
530
            importer.do_import()
533
531
 
534
532
            # THEN: The create_verse() method should have been called with each verse in the file.
535
 
            self.assertTrue(importer.create_verse.called)
 
533
            assert importer.create_verse.called is True
536
534
            for verse_tag, verse_text in test_data['verses']:
537
535
                importer.create_verse.assert_any_call(importer.create_book().id, 1, verse_tag, verse_text)