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/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):

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

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