aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/test/delivery_method_test.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionmailer/test/delivery_method_test.rb')
-rw-r--r--actionmailer/test/delivery_method_test.rb63
1 files changed, 51 insertions, 12 deletions
diff --git a/actionmailer/test/delivery_method_test.rb b/actionmailer/test/delivery_method_test.rb
index 8f8c6b0275..fb43086423 100644
--- a/actionmailer/test/delivery_method_test.rb
+++ b/actionmailer/test/delivery_method_test.rb
@@ -1,4 +1,5 @@
require 'abstract_unit'
+require 'mail'
class DefaultDeliveryMethodMailer < ActionMailer::Base
end
@@ -12,18 +13,22 @@ class FileDeliveryMethodMailer < ActionMailer::Base
end
class CustomDeliveryMethod
- attr_accessor :custom_deliveries
- def initialize()
- @customer_deliveries = []
+
+ def initialize(values)
+ @custom_deliveries = []
end
- def self.perform_delivery(mail)
+ attr_accessor :custom_deliveries
+
+ attr_accessor :settings
+
+ def deliver!(mail)
self.custom_deliveries << mail
end
end
class CustomerDeliveryMailer < ActionMailer::Base
- self.delivery_method = CustomDeliveryMethod.new
+ self.delivery_method = CustomDeliveryMethod
end
class ActionMailerBase_delivery_method_Test < Test::Unit::TestCase
@@ -36,7 +41,18 @@ class ActionMailerBase_delivery_method_Test < Test::Unit::TestCase
end
def test_should_be_the_default_smtp
- assert_instance_of ActionMailer::DeliveryMethod::Smtp, ActionMailer::Base.delivery_method
+ assert_equal :smtp, ActionMailer::Base.delivery_method
+ end
+
+ def test_should_have_default_smtp_delivery_method_settings
+ settings = { :address => "localhost",
+ :port => 25,
+ :domain => 'localhost.localdomain',
+ :user_name => nil,
+ :password => nil,
+ :authentication => nil,
+ :enable_starttls_auto => true }
+ assert_equal settings, ActionMailer::Base.smtp_settings
end
end
@@ -50,7 +66,18 @@ class DefaultDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase
end
def test_should_be_the_default_smtp
- assert_instance_of ActionMailer::DeliveryMethod::Smtp, DefaultDeliveryMethodMailer.delivery_method
+ assert_equal :smtp, DefaultDeliveryMethodMailer.delivery_method
+ end
+
+ def test_should_have_default_smtp_delivery_method_settings
+ settings = { :address => "localhost",
+ :port => 25,
+ :domain => 'localhost.localdomain',
+ :user_name => nil,
+ :password => nil,
+ :authentication => nil,
+ :enable_starttls_auto => true }
+ assert_equal settings, DefaultDeliveryMethodMailer.smtp_settings
end
end
@@ -64,7 +91,13 @@ class NonDefaultDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase
end
def test_should_be_the_set_delivery_method
- assert_instance_of ActionMailer::DeliveryMethod::Sendmail, NonDefaultDeliveryMethodMailer.delivery_method
+ assert_equal :sendmail, NonDefaultDeliveryMethodMailer.delivery_method
+ end
+
+ def test_should_have_default_sendmail_delivery_method_settings
+ settings = {:location => '/usr/sbin/sendmail',
+ :arguments => '-i -t'}
+ assert_equal settings, NonDefaultDeliveryMethodMailer.sendmail_settings
end
end
@@ -78,11 +111,12 @@ class FileDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase
end
def test_should_be_the_set_delivery_method
- assert_instance_of ActionMailer::DeliveryMethod::File, FileDeliveryMethodMailer.delivery_method
+ assert_equal :file, FileDeliveryMethodMailer.delivery_method
end
- def test_should_default_location_to_the_tmpdir
- assert_equal "#{Dir.tmpdir}/mails", ActionMailer::Base.file_settings[:location]
+ def test_should_have_default_file_delivery_method_settings
+ settings = {:location => "#{Dir.tmpdir}/mails"}
+ assert_equal settings, FileDeliveryMethodMailer.file_settings
end
end
@@ -96,6 +130,11 @@ class CustomDeliveryMethodMailer_delivery_method_Test < Test::Unit::TestCase
end
def test_should_be_the_set_delivery_method
- assert_instance_of CustomDeliveryMethod, CustomerDeliveryMailer.delivery_method
+ assert_equal CustomDeliveryMethod, CustomerDeliveryMailer.delivery_method
+ end
+
+ def test_should_have_default_custom_delivery_method_settings
+ settings = {}
+ assert_equal settings, CustomerDeliveryMailer.custom_settings
end
end