test/unit/posts_data_test.rb in activemerchant-1.4.2 vs test/unit/posts_data_test.rb in activemerchant-1.5.0
- old
+ new
@@ -1,100 +1,48 @@
-require File.dirname(__FILE__) + '/../test_helper'
+require 'test_helper'
-class MockResponse
- def body
- end
-end
-
class PostsDataTests < Test::Unit::TestCase
- URL = 'http://example.com'
-
+
def setup
+ @url = 'http://example.com'
@gateway = SimpleTestGateway.new
end
def teardown
SimpleTestGateway.retry_safe = false
end
def test_single_successful_post
- Net::HTTP.any_instance.expects(:post).once.returns(MockResponse.new)
+ ActiveMerchant::Connection.any_instance.expects(:request).returns('')
assert_nothing_raised do
- @gateway.ssl_post(URL, '')
+ @gateway.ssl_post(@url, '')
end
end
def test_multiple_successful_posts
- responses = [ MockResponse.new, MockResponse.new ]
- Net::HTTP.any_instance.expects(:post).times(2).returns(*responses)
+ ActiveMerchant::Connection.any_instance.expects(:request).times(2).returns('', '')
assert_nothing_raised do
- @gateway.ssl_post(URL, '')
- @gateway.ssl_post(URL, '')
+ @gateway.ssl_post(@url, '')
+ @gateway.ssl_post(@url, '')
end
end
-
- def test_unrecoverable_exception
- Net::HTTP.any_instance.expects(:post).raises(EOFError)
- assert_raises(ActiveMerchant::ConnectionError) do
- @gateway.ssl_post(URL, '')
- end
- end
-
- def test_failure_then_success_with_recoverable_exception
- Net::HTTP.any_instance.expects(:post).times(2).raises(Errno::ECONNREFUSED).then.returns(MockResponse.new)
-
- assert_nothing_raised do
- @gateway.ssl_post(URL, '')
- end
- end
-
- def test_failure_limit_reached
- Net::HTTP.any_instance.expects(:post).times(ActiveMerchant::PostsData::MAX_RETRIES).raises(Errno::ECONNREFUSED)
-
- assert_raises(ActiveMerchant::ConnectionError) do
- @gateway.ssl_post(URL, '')
- end
- end
-
- def test_failure_then_success_with_retry_safe_enabled
- Net::HTTP.any_instance.expects(:post).times(2).raises(EOFError).then.returns(MockResponse.new)
-
- @gateway.retry_safe = true
-
- assert_nothing_raised do
- @gateway.ssl_post(URL, '')
- end
- end
-
- def test_mixture_of_failures_with_retry_safe_enabled
- Net::HTTP.any_instance.expects(:post).times(3).raises(Errno::ECONNRESET).
- raises(Errno::ECONNREFUSED).
- raises(EOFError)
-
- @gateway.retry_safe = true
-
- assert_raises(ActiveMerchant::ConnectionError) do
- @gateway.ssl_post(URL, '')
- end
- end
-
def test_setting_ssl_strict_outside_class_definition
assert_equal SimpleTestGateway.ssl_strict, SubclassGateway.ssl_strict
SimpleTestGateway.ssl_strict = !SimpleTestGateway.ssl_strict
assert_equal SimpleTestGateway.ssl_strict, SubclassGateway.ssl_strict
end
def test_setting_timeouts
- @gateway.class.open_timeout=50
- @gateway.class.read_timeout=37
- Net::HTTP.any_instance.expects(:post).once.returns(MockResponse.new)
- Net::HTTP.any_instance.expects(:open_timeout=).with(50)
- Net::HTTP.any_instance.expects(:read_timeout=).with(37)
+ @gateway.class.open_timeout = 50
+ @gateway.class.read_timeout = 37
+ ActiveMerchant::Connection.any_instance.expects(:request).returns('')
+ ActiveMerchant::Connection.any_instance.expects(:open_timeout=).with(50)
+ ActiveMerchant::Connection.any_instance.expects(:read_timeout=).with(37)
assert_nothing_raised do
- @gateway.ssl_post(URL, '')
+ @gateway.ssl_post(@url, '')
end
end
end
\ No newline at end of file