rename Mailer#message
in Rails 3, there's another method with the same name also fix some specs that check the underlying delivery method Change-Id: I1e318a280420ea5872b7e4dca097a2b68a0a69e7 Reviewed-on: https://gerrit.instructure.com/28742 Tested-by: Jenkins <jenkins@instructure.com> Reviewed-by: James Williams <jamesw@instructure.com> Product-Review: Cody Cutrer <cody@instructure.com> QA-Review: Cody Cutrer <cody@instructure.com>
This commit is contained in:
parent
cc93da5b8c
commit
e87f947d21
|
@ -189,7 +189,7 @@ class CommunicationChannel < ActiveRecord::Base
|
|||
m = self.messages.new
|
||||
m.to = self.path
|
||||
m.body = t :body, "Your Canvas verification code is %{verification_code}", :verification_code => code
|
||||
Mailer.message(m).deliver rescue nil # omg! just ignore delivery failures
|
||||
Mailer.create_message(m).deliver rescue nil # omg! just ignore delivery failures
|
||||
end
|
||||
|
||||
# If you are creating a new communication_channel, do nothing, this just
|
||||
|
|
|
@ -86,17 +86,17 @@ class Mailer < ActionMailer::Base
|
|||
end
|
||||
|
||||
def deliver
|
||||
Mailer.deliver_message(@message)
|
||||
Mailer.deliver_create_message(@message)
|
||||
end
|
||||
end
|
||||
|
||||
def self.message(m)
|
||||
def self.create_message(m)
|
||||
Proxy.new(m)
|
||||
end
|
||||
end
|
||||
|
||||
# define in rails3-style
|
||||
def message(m)
|
||||
def create_message(m)
|
||||
# notifications have context, bounce replies don't.
|
||||
headers('Auto-Submitted' => m.context ? 'auto-generated' : 'auto-replied')
|
||||
|
||||
|
|
|
@ -611,7 +611,7 @@ class Message < ActiveRecord::Base
|
|||
logger.info "Delivering mail: #{self.inspect}"
|
||||
|
||||
begin
|
||||
res = Mailer.message(self).deliver
|
||||
res = Mailer.create_message(self).deliver
|
||||
rescue Net::SMTPServerBusy => e
|
||||
@exception = e
|
||||
logger.error "Exception: #{e.class}: #{e.message}\n\t#{e.backtrace.join("\n\t")}"
|
||||
|
|
|
@ -317,7 +317,7 @@ module IncomingMail
|
|||
unless outgoing_message_delivered
|
||||
# Can't use our usual mechanisms, so just try to send it once now
|
||||
begin
|
||||
res = Mailer.deliver_message(outgoing_message)
|
||||
res = Mailer.create_message(outgoing_message).deliver
|
||||
rescue => e
|
||||
# TODO: put some kind of error logging here?
|
||||
end
|
||||
|
|
|
@ -29,7 +29,7 @@ describe 'MessageDispatcher' do
|
|||
track_jobs { MessageDispatcher.dispatch(@message) }
|
||||
created_jobs.size.should == 1
|
||||
job = created_jobs.first
|
||||
Mailer.expects(:deliver_message).raises(Timeout::Error)
|
||||
Mailer.expects(:create_message).raises(Timeout::Error)
|
||||
run_jobs
|
||||
@message.reload.dispatch_at.should > Time.now.utc + 4.minutes
|
||||
job.reload.attempts.should == 1
|
||||
|
@ -58,7 +58,9 @@ describe 'MessageDispatcher' do
|
|||
job = created_jobs.first
|
||||
@messages[0].cancel
|
||||
|
||||
Mailer.expects(:deliver_message).twice.raises(Timeout::Error).then.returns(true)
|
||||
am_message = mock()
|
||||
am_message.expects(:deliver).returns(true)
|
||||
Mailer.expects(:create_message).twice.raises(Timeout::Error).then.returns(am_message)
|
||||
|
||||
track_jobs { Delayed::Worker.new.perform(job) }
|
||||
created_jobs.size.should == 1
|
||||
|
|
|
@ -128,24 +128,24 @@ describe Message do
|
|||
message_model(:dispatch_at => Time.now, :workflow_state => 'staged', :to => 'somebody', :updated_at => Time.now.utc - 11.minutes, :user => user, :path_type => 'email')
|
||||
@message.cancel
|
||||
@message.expects(:deliver_via_email).never
|
||||
Mailer.expects(:deliver_message).never
|
||||
Mailer.expects(:create_message).never
|
||||
@message.deliver.should be_nil
|
||||
@message.reload.state.should == :cancelled
|
||||
end
|
||||
|
||||
it "should log errors and raise based on error type" do
|
||||
message_model(:dispatch_at => Time.now, :workflow_state => 'staged', :to => 'somebody', :updated_at => Time.now.utc - 11.minutes, :user => user, :path_type => 'email')
|
||||
Mailer.expects(:deliver_message).raises("something went wrong")
|
||||
Mailer.expects(:create_message).raises("something went wrong")
|
||||
ErrorReport.expects(:log_exception)
|
||||
expect { @message.deliver }.to raise_exception("something went wrong")
|
||||
|
||||
message_model(:dispatch_at => Time.now, :workflow_state => 'staged', :to => 'somebody', :updated_at => Time.now.utc - 11.minutes, :user => user, :path_type => 'email')
|
||||
Mailer.expects(:deliver_message).raises(Timeout::Error.new)
|
||||
Mailer.expects(:create_message).raises(Timeout::Error.new)
|
||||
ErrorReport.expects(:log_exception).never
|
||||
expect { @message.deliver }.to raise_exception(Timeout::Error)
|
||||
|
||||
message_model(:dispatch_at => Time.now, :workflow_state => 'staged', :to => 'somebody', :updated_at => Time.now.utc - 11.minutes, :user => user, :path_type => 'email')
|
||||
Mailer.expects(:deliver_message).raises("450 recipient address rejected")
|
||||
Mailer.expects(:create_message).raises("450 recipient address rejected")
|
||||
ErrorReport.expects(:log_exception).never
|
||||
@message.deliver.should == false
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue