/
stripe_configuration_test.rb
131 lines (102 loc) · 4.16 KB
/
stripe_configuration_test.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# 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
end
assert_equal 100, config.open_timeout
assert_equal 100, config.read_timeout
assert_equal 100, config.write_timeout
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