diff options
author | Matthew Landauer <matthew@openaustralia.org> | 2012-10-10 15:07:24 +1100 |
---|---|---|
committer | Matthew Landauer <matthew@openaustralia.org> | 2012-10-10 15:07:24 +1100 |
commit | 36b9552ae4b44aba43a7de824c77a990cc827752 (patch) | |
tree | 158586951766bdd4db39a09bcfae935450f71770 | |
parent | 4869338b35a6e1fed6498f3d8ed24ee2139e65d6 (diff) |
Don't get confused if there is no postfix queue id
-rw-r--r-- | app/models/exim_log.rb | 4 | ||||
-rw-r--r-- | spec/models/exim_log_spec.rb | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/app/models/exim_log.rb b/app/models/exim_log.rb index eb3099b5c..8a02d8b06 100644 --- a/app/models/exim_log.rb +++ b/app/models/exim_log.rb @@ -112,9 +112,11 @@ class EximLog < ActiveRecord::Base result end + # Retuns nil if there is no queue id def EximLog.extract_postfix_queue_id_from_syslog_line(line) # Assume the log file was written using syslog and parse accordingly - SyslogProtocol.parse("<13>" + line).content.match(/^\S+: (\S+):/)[1] + m = SyslogProtocol.parse("<13>" + line).content.match(/^\S+: (\S+):/) + m[1] if m end def EximLog.email_addresses_on_line(line) diff --git a/spec/models/exim_log_spec.rb b/spec/models/exim_log_spec.rb index 5ce3c6e79..87aa6d610 100644 --- a/spec/models/exim_log_spec.rb +++ b/spec/models/exim_log_spec.rb @@ -113,5 +113,11 @@ describe EximLog do } end end + + describe ".extract_postfix_queue_id_from_syslog_line" do + it "returns nil if there is no queue id" do + EximLog.extract_postfix_queue_id_from_syslog_line("Oct 7 07:16:48 kedumba postfix/smtp[14294]: connect to mail.neilcopp.com.au[110.142.151.66]:25: Connection refused").should be_nil + end + end end end |