diff options
-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 |