Code Duplication    Length = 34-37 lines in 3 locations

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

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

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

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

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

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