Skip to content

Commit 5645820

Browse files
Merge pull request #3256 from antgonza/fix-error-sending-emails
Fix error sending emails
2 parents cbe1bce + e50e7cd commit 5645820

File tree

2 files changed

+30
-28
lines changed

2 files changed

+30
-28
lines changed

qiita_db/processing_job.py

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -741,7 +741,7 @@ def _generate_notification_message(self, value, error_msg):
741741
f'{self.command.parameters}')
742742
else:
743743
for artifact in input_artifacts:
744-
if artifact.prep_templates is not None:
744+
if artifact.prep_templates:
745745
# this is a processing job. display the study id as link,
746746
# prep ids, data_type, and command name.
747747
study_ids = [x.study_id for x in artifact.prep_templates]
@@ -775,18 +775,16 @@ def _generate_notification_message(self, value, error_msg):
775775
data_type = data_types.pop()
776776

777777
message = f'Processing Job: {self.command.name}\n'
778-
message += 'Study <A HREF="https://qiita.ucsd.edu/study/'
779-
message += f'description/{study_id}">{study_id}'
780-
message += '</A>\n'
778+
message += f'{qiita_config.base_url}study/'
779+
message += f'description/{study_id}\n'
781780
message += f'Prep IDs: {prep_ids}\n'
782781
message += f'Data Type: {data_type}\n'
783-
elif artifact.analysis is not None:
782+
elif artifact.analysis:
784783
# this is an analysis job. display analysis id as link and
785784
# the command name.
786-
message = f'Analysis Job {self.command.name} '
787-
message += '<A HREF="https://qiita.ucsd.edu/analysis/'
788-
message += f'description/{artifact.analysis.id}">'
789-
message += f'{artifact.analysis.id}</A>\n'
785+
message = f'Analysis Job {self.command.name}\n'
786+
message += f'{qiita_config.base_url}analysis/'
787+
message += f'description/{artifact.analysis.id}/\n'
790788
else:
791789
raise qdb.exceptions.QiitaError("Unknown Condition")
792790

qiita_db/test/test_processing_job.py

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
import qiita_db as qdb
2020
from qiita_core.util import qiita_test_checker
21+
from qiita_core.qiita_settings import qiita_config
2122

2223

2324
def _create_job(force=True):
@@ -871,47 +872,51 @@ def test_notification_mail_generation(self):
871872

872873
exp = {'subject': ('Job status change: Split libraries FASTQ '
873874
'(063e553b-327c-4818-ab4a-adfe58e49860)'),
874-
'message': ('Processing Job: Split libraries FASTQ\nStudy '
875-
'<A HREF="https://qiita.ucsd.edu/study/description'
876-
'/1">1</A>\nPrep IDs: 1\nData Type: 18S\nNew '
875+
'message': ('Processing Job: Split libraries FASTQ\n'
876+
f'{qiita_config.base_url}study/description/1'
877+
'\nPrep IDs: 1\nData Type: 18S\nNew '
877878
'status: error')}
878-
879879
self.assertDictEqual(obs, exp)
880880

881881
obs = self.tester1._generate_notification_message('error',
882882
'An Error Message')
883-
884883
exp = {'subject': ('Job status change: Split libraries FASTQ '
885884
'(063e553b-327c-4818-ab4a-adfe58e49860)'),
886-
'message': ('Processing Job: Split libraries FASTQ\nStudy '
887-
'<A HREF="https://qiita.ucsd.edu/study/description'
888-
'/1">1</A>\nPrep IDs: 1\nData Type: 18S\nNew status'
885+
'message': ('Processing Job: Split libraries FASTQ\n'
886+
f'{qiita_config.base_url}study/description/1\n'
887+
'Prep IDs: 1\nData Type: 18S\nNew status'
889888
': error\n\nError:\nAn Error Message')}
890-
891889
self.assertDictEqual(obs, exp)
892890

893891
# The inclusion of an error message has no effect on other valid
894892
# status types e.g. 'running'.
895893
obs = self.tester1._generate_notification_message('running', None)
896-
897894
exp = {'subject': ('Job status change: Split libraries FASTQ '
898895
'(063e553b-327c-4818-ab4a-adfe58e49860)'),
899-
'message': ('Processing Job: Split libraries FASTQ\nStudy '
900-
'<A HREF="https://qiita.ucsd.edu/study/description'
901-
'/1">1</A>\nPrep IDs: 1\nData Type: 18S\nNew status'
896+
'message': ('Processing Job: Split libraries FASTQ\n'
897+
f'{qiita_config.base_url}study/description/1\n'
898+
'Prep IDs: 1\nData Type: 18S\nNew status'
902899
': running')}
903-
904900
self.assertDictEqual(obs, exp)
905901

906902
obs = self.tester1._generate_notification_message('running', 'Yahoo!')
907-
908903
exp = {'subject': ('Job status change: Split libraries FASTQ '
909904
'(063e553b-327c-4818-ab4a-adfe58e49860)'),
910-
'message': ('Processing Job: Split libraries FASTQ\nStudy '
911-
'<A HREF="https://qiita.ucsd.edu/study/description'
912-
'/1">1</A>\nPrep IDs: 1\nData Type: 18S\nNew status'
905+
'message': ('Processing Job: Split libraries FASTQ\n'
906+
f'{qiita_config.base_url}study/description/1\n'
907+
'Prep IDs: 1\nData Type: 18S\nNew status'
913908
': running')}
909+
self.assertDictEqual(obs, exp)
914910

911+
# checking analysis emails
912+
jid = '8a7a8461-e8a1-4b4e-a428-1bc2f4d3ebd0'
913+
pj = qdb.processing_job.ProcessingJob(jid)
914+
obs = pj._generate_notification_message('running', 'Yahoo!')
915+
exp = {'subject': 'Job status change: Single Rarefaction '
916+
'(8a7a8461-e8a1-4b4e-a428-1bc2f4d3ebd0)',
917+
'message': 'Analysis Job Single Rarefaction\n'
918+
f'{qiita_config.base_url}analysis/description/1/\n'
919+
'New status: running'}
915920
self.assertDictEqual(obs, exp)
916921

917922
# as '[email protected]' is not set to receive notifications, let's
@@ -920,7 +925,6 @@ def test_notification_mail_generation(self):
920925
# privileged user.
921926
sql = ("UPDATE qiita.qiita_user SET receive_processing_job_emails"
922927
" = false WHERE email = '[email protected]'")
923-
924928
with qdb.sql_connection.TRN:
925929
qdb.sql_connection.TRN.add(sql)
926930

0 commit comments

Comments
 (0)