Code Duplication    Length = 34-40 lines in 3 locations

django-data/image/submissions/tests/mixins.py 1 location

@@ 43-82 (lines=40) @@
40
        # calling base methods
41
        super().tearDown()
42
43
    def test_on_failure(self):
44
        """Testing on failure methods"""
45
46
        exc = Exception("Test")
47
        task_id = "test_task_id"
48
        args = [self.submission_id]
49
        kwargs = {}
50
        einfo = ExceptionInfo
51
52
        # call on_failure method
53
        self.my_task.on_failure(exc, task_id, args, kwargs, einfo)
54
55
        # check submission status and message
56
        submission = Submission.objects.get(pk=self.submission_id)
57
58
        # check submission.state changed
59
        self.assertEqual(submission.status, ERROR)
60
        self.assertEqual(
61
            submission.message,
62
            "Error in %s: Test" % (self.action))
63
64
        # test email sent. One mail for admin, une for users
65
        self.assertEqual(len(mail.outbox), 2)
66
67
        # read email
68
        email = mail.outbox[-1]
69
70
        self.assertEqual(
71
            "Error in %s for submission %s" % (
72
                self.action, self.submission_id),
73
            email.subject)
74
75
        message = 'Error'
76
        notification_message = 'Error in %s: Test' % (
77
            self.action)
78
79
        self.check_message(message, notification_message)
80
81
        # assering zooma not called
82
        self.assertFalse(self.mock_annotateall.called)
83
84
    def test_import_from_file(self):
85
        """Testing file import"""

django-data/image/biosample/tests/common.py 1 location

@@ 130-166 (lines=37) @@
127
128
129
class TaskFailureMixin(WebSocketMixin, BaseMixin):
130
    def test_on_failure(self):
131
        """Testing on failure methods"""
132
133
        exc = Exception("Test")
134
        task_id = "test_task_id"
135
        args = [self.submission_id]
136
        kwargs = {'uid_submission_id': self.submission_id}
137
        einfo = ExceptionInfo
138
139
        # call on_failure method
140
        self.my_task.on_failure(exc, task_id, args, kwargs, einfo)
141
142
        # check submission status and message
143
        submission = Submission.objects.get(pk=self.submission_id)
144
145
        # check submission.state changed
146
        self.assertEqual(submission.status, ERROR)
147
        self.assertEqual(
148
            submission.message,
149
            "Error in biosample submission: Test")
150
151
        # test email sent
152
        self.assertEqual(len(mail.outbox), 2)
153
154
        # read email
155
        email = mail.outbox[-1]
156
157
        self.assertEqual(
158
            "Error in biosample submission for submission %s" % (
159
                self.submission_id),
160
            email.subject)
161
162
        message = 'Error'
163
        notification_message = 'Error in biosample submission: Test'
164
165
        # calling a WebSocketMixin method
166
        self.check_message(message, notification_message)
167
168
169
class RedisMixin():

django-data/image/validation/tests/test_tasks.py 1 location

@@ 213-246 (lines=34) @@
210
        # calling base methods
211
        super().tearDown()
212
213
    def test_on_failure(self):
214
        """Testing on failure methods"""
215
216
        exc = Exception("Test")
217
        task_id = "test_task_id"
218
        args = [self.submission_id]
219
        kwargs = {}
220
        einfo = ExceptionInfo
221
222
        # call on_failure method
223
        self.my_task.on_failure(exc, task_id, args, kwargs, einfo)
224
225
        # check submission status and message
226
        submission = Submission.objects.get(pk=self.submission_id)
227
228
        # check submission.state changed
229
        self.assertEqual(submission.status, ERROR)
230
        self.assertEqual(
231
            submission.message,
232
            "Error in validation: Test")
233
234
        # test email sent
235
        self.assertGreater(len(mail.outbox), 1)
236
237
        # read email
238
        email = mail.outbox[-1]
239
240
        self.assertEqual(
241
            "Error in validation for submission 1",
242
            email.subject)
243
244
        self.check_message(
245
            'Error',
246
            'Error in validation: Test')
247
248
    @patch("validation.tasks.ValidateSubmission.validate_model")
249
    def test_validate_retry(self, my_validate):