aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Landauer <matthew@openaustralia.org>2012-10-10 15:07:24 +1100
committerMatthew Landauer <matthew@openaustralia.org>2012-10-10 15:07:24 +1100
commit36b9552ae4b44aba43a7de824c77a990cc827752 (patch)
tree158586951766bdd4db39a09bcfae935450f71770
parent4869338b35a6e1fed6498f3d8ed24ee2139e65d6 (diff)
Don't get confused if there is no postfix queue id
-rw-r--r--app/models/exim_log.rb4
-rw-r--r--spec/models/exim_log_spec.rb6
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