Code Duplication    Length = 29-29 lines in 2 locations

django-data/image/cryoweb/tests/test_helpers.py 2 locations

@@ 237-265 (lines=29) @@
234
235
    # mock subprocess.run an raise Exception. Read it and update submission
236
    # message using helpers.upload_cryoweb
237
    @patch('cryoweb.helpers.send_message_to_websocket')
238
    @patch('asyncio.get_event_loop')
239
    def test_upload_cryoweb_errors(self, asyncio_mock,
240
                                   send_message_to_websocket_mock):
241
        """Testing errors in uploading cryoweb data"""
242
        tmp = asyncio_mock.return_value
243
        tmp.run_until_complete = Mock()
244
245
        with patch('subprocess.run') as runMock:
246
            runMock.side_effect = Exception("Test upload failed")
247
            self.assertFalse(upload_cryoweb(self.submission.id))
248
249
            # reload submission
250
            self.submission = Submission.objects.get(pk=1)
251
252
            self.assertEqual(
253
                self.submission.status,
254
                ERROR)
255
256
            self.assertIn(
257
                "Test upload failed",
258
                self.submission.message)
259
            self.assertEqual(asyncio_mock.call_count, 1)
260
            self.assertEqual(tmp.run_until_complete.call_count, 1)
261
            self.assertEqual(send_message_to_websocket_mock.call_count, 1)
262
            send_message_to_websocket_mock.assert_called_with(
263
                {'message': 'Error',
264
                 'notification_message': 'Error in importing data: Test '
265
                                         'upload failed'}, 1)
266
267
268
class CryowebImport(CryoWebMixin, BaseTestCase, TestCase):
@@ 319-347 (lines=29) @@
316
                                    'animal_unkn': 3, 'sample_unkn': 1,
317
                                    'animal_issues': 0, 'sample_issues': 0}}, 1)
318
319
    @patch('cryoweb.helpers.send_message_to_websocket')
320
    @patch('asyncio.get_event_loop')
321
    @patch("cryoweb.helpers.check_UID", side_effect=Exception("Test message"))
322
    def test_cryoweb_import_errors(self, my_check, asyncio_mock,
323
                                   send_message_to_websocket_mock):
324
        """Testing importing with data into UID with errors"""
325
        tmp = asyncio_mock.return_value
326
        tmp.run_until_complete = Mock()
327
328
        self.assertFalse(cryoweb_import(self.submission))
329
        self.assertTrue(my_check.called)
330
331
        # reload submission
332
        self.submission = Submission.objects.get(pk=1)
333
334
        self.assertEqual(
335
            self.submission.status,
336
            ERROR)
337
338
        self.assertIn(
339
            "Test message",
340
            self.submission.message)
341
        self.assertEqual(asyncio_mock.call_count, 1)
342
        self.assertEqual(tmp.run_until_complete.call_count, 1)
343
        self.assertEqual(send_message_to_websocket_mock.call_count, 1)
344
        send_message_to_websocket_mock.assert_called_with(
345
            {'message': 'Error',
346
             'notification_message': 'Error in importing data: Test message'},
347
            1)
348
349
350
class CryowebReload(CryoWebMixin, BaseTestCase, TestCase):