mirror of
https://github.com/stripe/stripe-ruby.git
synced 2025-10-04 00:00:47 -04:00
132 lines
4.2 KiB
Ruby
132 lines
4.2 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require ::File.expand_path("../test_helper", __dir__)
|
|
|
|
module Stripe
|
|
class StripeConfigurationTest < Test::Unit::TestCase
|
|
context ".setup" do
|
|
should "initialize a new configuration with defaults" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
assert_equal Stripe::DEFAULT_CA_BUNDLE_PATH, config.ca_bundle_path
|
|
assert_equal true, config.enable_telemetry
|
|
assert_equal true, config.verify_ssl_certs
|
|
assert_equal 2, config.max_network_retry_delay
|
|
assert_equal 0.5, config.initial_network_retry_delay
|
|
assert_equal 0, config.max_network_retries
|
|
assert_equal 30, config.open_timeout
|
|
assert_equal 80, config.read_timeout
|
|
assert_equal 30, config.write_timeout
|
|
assert_equal "https://api.stripe.com", config.api_base
|
|
assert_equal "https://connect.stripe.com", config.connect_base
|
|
assert_equal "https://files.stripe.com", config.uploads_base
|
|
end
|
|
|
|
should "allow for overrides when a block is passed" do
|
|
config = Stripe::StripeConfiguration.setup do |c|
|
|
c.open_timeout = 100
|
|
c.read_timeout = 100
|
|
c.write_timeout = 100 if WRITE_TIMEOUT_SUPPORTED
|
|
end
|
|
|
|
assert_equal 100, config.open_timeout
|
|
assert_equal 100, config.read_timeout
|
|
assert_equal 100, config.write_timeout if WRITE_TIMEOUT_SUPPORTED
|
|
end
|
|
end
|
|
|
|
context "#reverse_duplicate_merge" do
|
|
should "return a duplicate object with overrides" do
|
|
config = Stripe::StripeConfiguration.setup do |c|
|
|
c.open_timeout = 100
|
|
end
|
|
|
|
duped_config = config.reverse_duplicate_merge(read_timeout: 500)
|
|
|
|
assert_equal config.open_timeout, duped_config.open_timeout
|
|
assert_equal 500, duped_config.read_timeout
|
|
end
|
|
end
|
|
|
|
context "#max_network_retries=" do
|
|
should "coerce the option into an integer" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
config.max_network_retries = "10"
|
|
assert_equal 10, config.max_network_retries
|
|
end
|
|
end
|
|
|
|
context "#log_level=" do
|
|
should "be backwards compatible with old values" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
config.log_level = "debug"
|
|
assert_equal Stripe::LEVEL_DEBUG, config.log_level
|
|
|
|
config.log_level = "info"
|
|
assert_equal Stripe::LEVEL_INFO, config.log_level
|
|
end
|
|
|
|
should "raise an error if the value isn't valid" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
assert_raises ArgumentError do
|
|
config.log_level = "Foo"
|
|
end
|
|
end
|
|
end
|
|
|
|
context "options that require all connection managers to be cleared" do
|
|
should "clear when setting allow ca_bundle_path" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
StripeClient.expects(:clear_all_connection_managers)
|
|
config.ca_bundle_path = "/path/to/ca/bundle"
|
|
end
|
|
|
|
should "clear when setting open timeout" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
StripeClient.expects(:clear_all_connection_managers)
|
|
config.open_timeout = 10
|
|
end
|
|
|
|
should "clear when setting read timeout" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
StripeClient.expects(:clear_all_connection_managers)
|
|
config.read_timeout = 10
|
|
end
|
|
|
|
should "clear when setting uploads_base" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
StripeClient.expects(:clear_all_connection_managers)
|
|
config.uploads_base = "https://other.stripe.com"
|
|
end
|
|
|
|
should "clearn when setting api_base to be configured" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
StripeClient.expects(:clear_all_connection_managers)
|
|
config.api_base = "https://other.stripe.com"
|
|
end
|
|
|
|
should "clear when setting connect_base" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
StripeClient.expects(:clear_all_connection_managers)
|
|
config.connect_base = "https://other.stripe.com"
|
|
end
|
|
|
|
should "clear when setting verify_ssl_certs" do
|
|
config = Stripe::StripeConfiguration.setup
|
|
|
|
StripeClient.expects(:clear_all_connection_managers)
|
|
config.verify_ssl_certs = false
|
|
end
|
|
end
|
|
end
|
|
end
|