| @@ 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""" |
|
| @@ 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): |
|
| @@ 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(): |
|