stripe 3.3.2 → 3.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +20 -0
  4. data/.rubocop_todo.yml +62 -0
  5. data/.travis.yml +1 -1
  6. data/Gemfile +19 -12
  7. data/History.txt +10 -0
  8. data/README.md +5 -1
  9. data/Rakefile +8 -5
  10. data/VERSION +1 -1
  11. data/bin/stripe-console +2 -2
  12. data/lib/stripe.rb +72 -74
  13. data/lib/stripe/account.rb +15 -17
  14. data/lib/stripe/alipay_account.rb +10 -7
  15. data/lib/stripe/api_operations/create.rb +1 -1
  16. data/lib/stripe/api_operations/delete.rb +1 -1
  17. data/lib/stripe/api_operations/list.rb +2 -2
  18. data/lib/stripe/api_operations/request.rb +5 -12
  19. data/lib/stripe/api_operations/save.rb +6 -6
  20. data/lib/stripe/api_resource.rb +7 -9
  21. data/lib/stripe/apple_pay_domain.rb +2 -2
  22. data/lib/stripe/application_fee.rb +5 -5
  23. data/lib/stripe/application_fee_refund.rb +5 -5
  24. data/lib/stripe/balance.rb +1 -1
  25. data/lib/stripe/balance_transaction.rb +2 -2
  26. data/lib/stripe/bank_account.rb +7 -7
  27. data/lib/stripe/bitcoin_receiver.rb +4 -2
  28. data/lib/stripe/bitcoin_transaction.rb +3 -1
  29. data/lib/stripe/card.rb +5 -5
  30. data/lib/stripe/charge.rb +18 -18
  31. data/lib/stripe/country_spec.rb +2 -2
  32. data/lib/stripe/coupon.rb +1 -1
  33. data/lib/stripe/customer.rb +23 -23
  34. data/lib/stripe/dispute.rb +3 -3
  35. data/lib/stripe/ephemeral_key.rb +4 -4
  36. data/lib/stripe/errors.rb +4 -4
  37. data/lib/stripe/event.rb +1 -1
  38. data/lib/stripe/file_upload.rb +5 -5
  39. data/lib/stripe/invoice.rb +7 -7
  40. data/lib/stripe/invoice_item.rb +1 -1
  41. data/lib/stripe/invoice_line_item.rb +1 -1
  42. data/lib/stripe/list_object.rb +14 -18
  43. data/lib/stripe/login_link.rb +3 -3
  44. data/lib/stripe/oauth.rb +15 -13
  45. data/lib/stripe/order.rb +5 -5
  46. data/lib/stripe/order_return.rb +1 -1
  47. data/lib/stripe/payout.rb +3 -3
  48. data/lib/stripe/plan.rb +1 -1
  49. data/lib/stripe/product.rb +1 -1
  50. data/lib/stripe/recipient.rb +3 -2
  51. data/lib/stripe/recipient_transfer.rb +1 -2
  52. data/lib/stripe/refund.rb +1 -1
  53. data/lib/stripe/reversal.rb +5 -5
  54. data/lib/stripe/singleton_api_resource.rb +3 -3
  55. data/lib/stripe/sku.rb +1 -1
  56. data/lib/stripe/source.rb +13 -10
  57. data/lib/stripe/stripe_client.rb +149 -169
  58. data/lib/stripe/stripe_object.rb +77 -76
  59. data/lib/stripe/subscription.rb +5 -5
  60. data/lib/stripe/subscription_item.rb +2 -2
  61. data/lib/stripe/three_d_secure.rb +1 -1
  62. data/lib/stripe/token.rb +1 -1
  63. data/lib/stripe/transfer.rb +3 -3
  64. data/lib/stripe/util.rb +77 -62
  65. data/lib/stripe/version.rb +1 -1
  66. data/lib/stripe/webhook.rb +14 -10
  67. data/stripe.gemspec +14 -14
  68. data/test/stripe/account_test.rb +69 -81
  69. data/test/stripe/alipay_account_test.rb +19 -1
  70. data/test/stripe/api_operations_test.rb +7 -7
  71. data/test/stripe/api_resource_test.rb +224 -260
  72. data/test/stripe/apple_pay_domain_test.rb +8 -8
  73. data/test/stripe/application_fee_refund_test.rb +8 -8
  74. data/test/stripe/application_fee_test.rb +3 -3
  75. data/test/stripe/balance_test.rb +2 -2
  76. data/test/stripe/bank_account_test.rb +9 -11
  77. data/test/stripe/charge_test.rb +11 -11
  78. data/test/stripe/country_spec_test.rb +4 -4
  79. data/test/stripe/coupon_test.rb +10 -10
  80. data/test/stripe/customer_card_test.rb +11 -15
  81. data/test/stripe/customer_test.rb +26 -27
  82. data/test/stripe/dispute_test.rb +8 -8
  83. data/test/stripe/ephemeral_key_test.rb +14 -14
  84. data/test/stripe/errors_test.rb +2 -2
  85. data/test/stripe/file_upload_test.rb +26 -28
  86. data/test/stripe/invoice_item_test.rb +14 -14
  87. data/test/stripe/invoice_line_item_test.rb +1 -1
  88. data/test/stripe/invoice_test.rb +37 -37
  89. data/test/stripe/list_object_test.rb +60 -76
  90. data/test/stripe/login_link_test.rb +14 -14
  91. data/test/stripe/oauth_test.rb +42 -50
  92. data/test/stripe/order_return_test.rb +5 -5
  93. data/test/stripe/order_test.rb +12 -12
  94. data/test/stripe/payout_test.rb +9 -9
  95. data/test/stripe/plan_test.rb +9 -9
  96. data/test/stripe/product_test.rb +8 -8
  97. data/test/stripe/recipient_test.rb +9 -10
  98. data/test/stripe/refund_test.rb +9 -9
  99. data/test/stripe/reversal_test.rb +10 -10
  100. data/test/stripe/sku_test.rb +8 -8
  101. data/test/stripe/source_test.rb +14 -16
  102. data/test/stripe/stripe_client_test.rb +235 -266
  103. data/test/stripe/stripe_object_test.rb +163 -147
  104. data/test/stripe/stripe_response_test.rb +4 -3
  105. data/test/stripe/subscription_item_test.rb +11 -11
  106. data/test/stripe/subscription_test.rb +14 -14
  107. data/test/stripe/three_d_secure_test.rb +2 -2
  108. data/test/stripe/transfer_test.rb +8 -8
  109. data/test/stripe/util_test.rb +59 -57
  110. data/test/stripe/webhook_test.rb +18 -16
  111. data/test/stripe_test.rb +4 -4
  112. data/test/test_data.rb +26 -26
  113. data/test/test_helper.rb +29 -25
  114. metadata +6 -10
  115. data/test/stripe/bitcoin_receiver_test.rb +0 -67
  116. data/test/stripe/bitcoin_transaction_test.rb +0 -19
  117. data/test/stripe/recipient_card_test.rb +0 -44
@@ -1,37 +1,37 @@
1
- require File.expand_path('../../test_helper', __FILE__)
1
+ require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
3
  module Stripe
4
4
  class RefundTest < Test::Unit::TestCase
5
5
  should "be listable" do
6
6
  refunds = Stripe::Refund.list
7
7
  assert_requested :get, "#{Stripe.api_base}/v1/refunds"
8
- assert refunds.data.kind_of?(Array)
9
- assert refunds.first.kind_of?(Stripe::Refund)
8
+ assert refunds.data.is_a?(Array)
9
+ assert refunds.first.is_a?(Stripe::Refund)
10
10
  end
11
11
 
12
12
  should "be retrievable" do
13
13
  refund = Stripe::Refund.retrieve("re_123")
14
14
  assert_requested :get, "#{Stripe.api_base}/v1/refunds/re_123"
15
- assert refund.kind_of?(Stripe::Refund)
15
+ assert refund.is_a?(Stripe::Refund)
16
16
  end
17
17
 
18
18
  should "be creatable" do
19
- refund = Stripe::Refund.create(:charge => "ch_123")
19
+ refund = Stripe::Refund.create(charge: "ch_123")
20
20
  assert_requested :post, "#{Stripe.api_base}/v1/refunds"
21
- assert refund.kind_of?(Stripe::Refund)
21
+ assert refund.is_a?(Stripe::Refund)
22
22
  end
23
23
 
24
24
  should "be saveable" do
25
25
  refund = Stripe::Refund.retrieve("re_123")
26
- refund.metadata['key'] = 'value'
26
+ refund.metadata["key"] = "value"
27
27
  refund.save
28
28
  assert_requested :post, "#{Stripe.api_base}/v1/refunds/#{refund.id}"
29
29
  end
30
30
 
31
31
  should "be updateable" do
32
- refund = Stripe::Refund.update("re_123", metadata: { key: 'value' })
32
+ refund = Stripe::Refund.update("re_123", metadata: { key: "value" })
33
33
  assert_requested :post, "#{Stripe.api_base}/v1/refunds/re_123"
34
- assert refund.kind_of?(Stripe::Refund)
34
+ assert refund.is_a?(Stripe::Refund)
35
35
  end
36
36
  end
37
37
  end
@@ -1,4 +1,4 @@
1
- require File.expand_path('../../test_helper', __FILE__)
1
+ require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
3
  module Stripe
4
4
  class ReversalTest < Test::Unit::TestCase
@@ -9,16 +9,16 @@ module Stripe
9
9
  should "be listable" do
10
10
  reversals = @transfer.reversals.list
11
11
  assert_requested :get,
12
- "#{Stripe.api_base}/v1/transfers/#{@transfer.id}/reversals"
13
- assert reversals.data.kind_of?(Array)
14
- assert reversals.data[0].kind_of?(Stripe::Reversal)
12
+ "#{Stripe.api_base}/v1/transfers/#{@transfer.id}/reversals"
13
+ assert reversals.data.is_a?(Array)
14
+ assert reversals.data[0].is_a?(Stripe::Reversal)
15
15
  end
16
16
 
17
17
  should "be retrievable" do
18
18
  reversal = @transfer.reversals.retrieve("trr_123")
19
19
  assert_requested :get,
20
- "#{Stripe.api_base}/v1/transfers/#{@transfer.id}/reversals/trr_123"
21
- assert reversal.kind_of?(Stripe::Reversal)
20
+ "#{Stripe.api_base}/v1/transfers/#{@transfer.id}/reversals/trr_123"
21
+ assert reversal.is_a?(Stripe::Reversal)
22
22
  end
23
23
 
24
24
  should "be creatable" do
@@ -26,16 +26,16 @@ module Stripe
26
26
  amount: 100
27
27
  )
28
28
  assert_requested :post,
29
- "#{Stripe.api_base}/v1/transfers/#{@transfer.id}/reversals"
30
- assert reversal.kind_of?(Stripe::Reversal)
29
+ "#{Stripe.api_base}/v1/transfers/#{@transfer.id}/reversals"
30
+ assert reversal.is_a?(Stripe::Reversal)
31
31
  end
32
32
 
33
33
  should "be saveable" do
34
34
  reversal = @transfer.reversals.retrieve("trr_123")
35
- reversal.metadata['key'] = 'value'
35
+ reversal.metadata["key"] = "value"
36
36
  reversal.save
37
37
  assert_requested :post,
38
- "#{Stripe.api_base}/v1/transfers/#{@transfer.id}/reversals/#{reversal.id}"
38
+ "#{Stripe.api_base}/v1/transfers/#{reversal.transfer}/reversals/#{reversal.id}"
39
39
  end
40
40
  end
41
41
  end
@@ -1,18 +1,18 @@
1
- require File.expand_path('../../test_helper', __FILE__)
1
+ require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
3
  module Stripe
4
4
  class SKUTest < Test::Unit::TestCase
5
5
  should "be listable" do
6
6
  skus = Stripe::SKU.list
7
7
  assert_requested :get, "#{Stripe.api_base}/v1/skus"
8
- assert skus.data.kind_of?(Array)
9
- assert skus.data[0].kind_of?(Stripe::SKU)
8
+ assert skus.data.is_a?(Array)
9
+ assert skus.data[0].is_a?(Stripe::SKU)
10
10
  end
11
11
 
12
12
  should "be retrievable" do
13
13
  sku = Stripe::SKU.retrieve("sku_123")
14
14
  assert_requested :get, "#{Stripe.api_base}/v1/skus/sku_123"
15
- assert sku.kind_of?(Stripe::SKU)
15
+ assert sku.is_a?(Stripe::SKU)
16
16
  end
17
17
 
18
18
  should "be creatable" do
@@ -27,22 +27,22 @@ module Stripe
27
27
 
28
28
  should "be saveable" do
29
29
  sku = Stripe::SKU.retrieve("sku_123")
30
- sku.metadata['key'] = 'value'
30
+ sku.metadata["key"] = "value"
31
31
  sku.save
32
32
  assert_requested :post, "#{Stripe.api_base}/v1/skus/#{sku.id}"
33
33
  end
34
34
 
35
35
  should "be updateable" do
36
- sku = Stripe::SKU.update("sku_123", metadata: {foo: 'bar'})
36
+ sku = Stripe::SKU.update("sku_123", metadata: { foo: "bar" })
37
37
  assert_requested :post, "#{Stripe.api_base}/v1/skus/sku_123"
38
- assert sku.kind_of?(Stripe::SKU)
38
+ assert sku.is_a?(Stripe::SKU)
39
39
  end
40
40
 
41
41
  should "be deletable" do
42
42
  sku = Stripe::SKU.retrieve("sku_123")
43
43
  sku = sku.delete
44
44
  assert_requested :delete, "#{Stripe.api_base}/v1/skus/#{sku.id}"
45
- assert sku.kind_of?(Stripe::SKU)
45
+ assert sku.is_a?(Stripe::SKU)
46
46
  end
47
47
  end
48
48
  end
@@ -1,33 +1,33 @@
1
- require File.expand_path('../../test_helper', __FILE__)
1
+ require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
3
  module Stripe
4
4
  class SourceTest < Test::Unit::TestCase
5
5
  should "be retrievable" do
6
6
  source = Stripe::Source.retrieve("src_123")
7
7
  assert_requested :get, "#{Stripe.api_base}/v1/sources/src_123"
8
- assert source.kind_of?(Stripe::Source)
8
+ assert source.is_a?(Stripe::Source)
9
9
  end
10
10
 
11
11
  should "be creatable" do
12
12
  source = Stripe::Source.create(
13
- type: 'card',
13
+ type: "card",
14
14
  token: "tok_123"
15
15
  )
16
16
  assert_requested :post, "#{Stripe.api_base}/v1/sources"
17
- assert source.kind_of?(Stripe::Source)
17
+ assert source.is_a?(Stripe::Source)
18
18
  end
19
19
 
20
20
  should "be saveable" do
21
21
  source = Stripe::Source.retrieve("src_123")
22
- source.metadata['key'] = 'value'
22
+ source.metadata["key"] = "value"
23
23
  source.save
24
24
  assert_requested :post, "#{Stripe.api_base}/v1/sources/#{source.id}"
25
25
  end
26
26
 
27
27
  should "be updateable" do
28
- source = Stripe::Source.update("src_123", metadata: {foo: 'bar'})
28
+ source = Stripe::Source.update("src_123", metadata: { foo: "bar" })
29
29
  assert_requested :post, "#{Stripe.api_base}/v1/sources/src_123"
30
- assert source.kind_of?(Stripe::Source)
30
+ assert source.is_a?(Stripe::Source)
31
31
  end
32
32
 
33
33
  context "#delete" do
@@ -40,18 +40,16 @@ module Stripe
40
40
  end
41
41
 
42
42
  should "be deletable when attached to a customer" do
43
- source = Stripe::Source.construct_from({
44
- customer: "cus_123",
45
- id: "src_123",
46
- object: "source"
47
- })
43
+ source = Stripe::Source.construct_from(customer: "cus_123",
44
+ id: "src_123",
45
+ object: "source")
48
46
  source = source.delete
49
47
  assert_requested :delete, "#{Stripe.api_base}/v1/customers/cus_123/sources/src_123"
50
- assert source.kind_of?(Stripe::Source)
48
+ assert source.is_a?(Stripe::Source)
51
49
  end
52
50
  end
53
51
 
54
- should 'not be listable' do
52
+ should "not be listable" do
55
53
  assert_raises NoMethodError do
56
54
  Stripe::Source.list
57
55
  end
@@ -60,8 +58,8 @@ module Stripe
60
58
  context "#verify" do
61
59
  should "verify the source" do
62
60
  source = Stripe::Source.retrieve("src_123")
63
- source = source.verify(:values => [1,2])
64
- assert source.kind_of?(Stripe::Source)
61
+ source = source.verify(values: [1, 2])
62
+ assert source.is_a?(Stripe::Source)
65
63
  end
66
64
  end
67
65
  end
@@ -1,4 +1,4 @@
1
- require File.expand_path('../../test_helper', __FILE__)
1
+ require File.expand_path("../../test_helper", __FILE__)
2
2
 
3
3
  module Stripe
4
4
  class StripeClientTest < Test::Unit::TestCase
@@ -41,25 +41,25 @@ module Stripe
41
41
  Stripe.stubs(:max_network_retries).returns(2)
42
42
  end
43
43
 
44
- should 'retry on timeout' do
44
+ should "retry on timeout" do
45
45
  assert StripeClient.should_retry?(Faraday::TimeoutError.new(""), 0)
46
46
  end
47
47
 
48
- should 'retry on a failed connection' do
48
+ should "retry on a failed connection" do
49
49
  assert StripeClient.should_retry?(Faraday::ConnectionFailed.new(""), 0)
50
50
  end
51
51
 
52
- should 'retry on a conflict' do
52
+ should "retry on a conflict" do
53
53
  error = make_rate_limit_error
54
- e = Faraday::ClientError.new(error[:error][:message], { status: 409 })
54
+ e = Faraday::ClientError.new(error[:error][:message], status: 409)
55
55
  assert StripeClient.should_retry?(e, 0)
56
56
  end
57
57
 
58
- should 'not retry at maximum count' do
58
+ should "not retry at maximum count" do
59
59
  refute StripeClient.should_retry?(RuntimeError.new, Stripe.max_network_retries)
60
60
  end
61
61
 
62
- should 'not retry on a certificate validation error' do
62
+ should "not retry on a certificate validation error" do
63
63
  refute StripeClient.should_retry?(Faraday::SSLError.new(""), 0)
64
64
  end
65
65
  end
@@ -119,25 +119,23 @@ module Stripe
119
119
  context "#execute_request" do
120
120
  context "headers" do
121
121
  should "support literal headers" do
122
- stub_request(:post, "#{Stripe.api_base}/v1/account").
123
- with(headers: { "Stripe-Account" => "bar" }).
124
- to_return(body: JSON.generate({ object: "account" }))
122
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
123
+ .with(headers: { "Stripe-Account" => "bar" })
124
+ .to_return(body: JSON.generate(object: "account"))
125
125
 
126
126
  client = StripeClient.new
127
- client.execute_request(:post, '/v1/account',
128
- headers: { "Stripe-Account" => "bar" }
129
- )
127
+ client.execute_request(:post, "/v1/account",
128
+ headers: { "Stripe-Account" => "bar" })
130
129
  end
131
130
 
132
131
  should "support RestClient-style header keys" do
133
- stub_request(:post, "#{Stripe.api_base}/v1/account").
134
- with(headers: { "Stripe-Account" => "bar" }).
135
- to_return(body: JSON.generate({ object: "account" }))
132
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
133
+ .with(headers: { "Stripe-Account" => "bar" })
134
+ .to_return(body: JSON.generate(object: "account"))
136
135
 
137
136
  client = StripeClient.new
138
- client.execute_request(:post, '/v1/account',
139
- headers: { :stripe_account => "bar" }
140
- )
137
+ client.execute_request(:post, "/v1/account",
138
+ headers: { stripe_account: "bar" })
141
139
  end
142
140
  end
143
141
 
@@ -157,149 +155,136 @@ module Stripe
157
155
  end
158
156
 
159
157
  should "produce appropriate logging" do
160
- body = JSON.generate({ object: "account" })
158
+ body = JSON.generate(object: "account")
161
159
 
162
160
  Util.expects(:log_info).with("Request to Stripe API",
163
- account: "acct_123",
164
- api_version: '2010-11-12',
165
- idempotency_key: "abc",
166
- method: :post,
167
- num_retries: 0,
168
- path: "/v1/account"
169
- )
161
+ account: "acct_123",
162
+ api_version: "2010-11-12",
163
+ idempotency_key: "abc",
164
+ method: :post,
165
+ num_retries: 0,
166
+ path: "/v1/account")
170
167
  Util.expects(:log_debug).with("Request details",
171
- body: '',
172
- idempotency_key: "abc"
173
- )
168
+ body: "",
169
+ idempotency_key: "abc",
170
+ query_string: nil)
174
171
 
175
172
  Util.expects(:log_info).with("Response from Stripe API",
176
- account: "acct_123",
177
- api_version: '2010-11-12',
178
- elapsed: 0.0,
179
- idempotency_key: "abc",
180
- method: :post,
181
- path: "/v1/account",
182
- request_id: "req_123",
183
- status: 200
184
- )
173
+ account: "acct_123",
174
+ api_version: "2010-11-12",
175
+ elapsed: 0.0,
176
+ idempotency_key: "abc",
177
+ method: :post,
178
+ path: "/v1/account",
179
+ request_id: "req_123",
180
+ status: 200)
185
181
  Util.expects(:log_debug).with("Response details",
186
- body: body,
187
- idempotency_key: "abc",
188
- request_id: "req_123"
189
- )
182
+ body: body,
183
+ idempotency_key: "abc",
184
+ request_id: "req_123")
190
185
  Util.expects(:log_debug).with("Dashboard link for request",
191
- idempotency_key: "abc",
192
- request_id: "req_123",
193
- url: Util.request_id_dashboard_url("req_123", Stripe.api_key)
194
- )
186
+ idempotency_key: "abc",
187
+ request_id: "req_123",
188
+ url: Util.request_id_dashboard_url("req_123", Stripe.api_key))
195
189
 
196
- stub_request(:post, "#{Stripe.api_base}/v1/account").
197
- to_return(
190
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
191
+ .to_return(
198
192
  body: body,
199
193
  headers: {
200
194
  "Idempotency-Key" => "abc",
201
195
  "Request-Id" => "req_123",
202
196
  "Stripe-Account" => "acct_123",
203
- "Stripe-Version" => "2010-11-12"
197
+ "Stripe-Version" => "2010-11-12",
204
198
  }
205
199
  )
206
200
 
207
201
  client = StripeClient.new
208
- client.execute_request(:post, '/v1/account',
209
- headers: {
210
- "Idempotency-Key" => "abc",
211
- "Stripe-Account" => "acct_123",
212
- "Stripe-Version" => "2010-11-12"
213
- }
214
- )
202
+ client.execute_request(:post, "/v1/account",
203
+ headers: {
204
+ "Idempotency-Key" => "abc",
205
+ "Stripe-Account" => "acct_123",
206
+ "Stripe-Version" => "2010-11-12",
207
+ })
215
208
  end
216
209
 
217
210
  should "produce logging on API error" do
218
211
  Util.expects(:log_info).with("Request to Stripe API",
219
- account: nil,
220
- api_version: nil,
221
- idempotency_key: nil,
222
- method: :post,
223
- num_retries: 0,
224
- path: "/v1/account"
225
- )
212
+ account: nil,
213
+ api_version: nil,
214
+ idempotency_key: nil,
215
+ method: :post,
216
+ num_retries: 0,
217
+ path: "/v1/account")
226
218
  Util.expects(:log_info).with("Response from Stripe API",
227
- account: nil,
228
- api_version: nil,
229
- elapsed: 0.0,
230
- idempotency_key: nil,
231
- method: :post,
232
- path: "/v1/account",
233
- request_id: nil,
234
- status: 500
235
- )
219
+ account: nil,
220
+ api_version: nil,
221
+ elapsed: 0.0,
222
+ idempotency_key: nil,
223
+ method: :post,
224
+ path: "/v1/account",
225
+ request_id: nil,
226
+ status: 500)
236
227
 
237
228
  error = {
238
- code: 'code',
239
- message: 'message',
240
- param: 'param',
241
- type: 'type',
229
+ code: "code",
230
+ message: "message",
231
+ param: "param",
232
+ type: "type",
242
233
  }
243
- Util.expects(:log_error).with('Stripe API error',
244
- status: 500,
245
- error_code: error['code'],
246
- error_message: error['message'],
247
- error_param: error['param'],
248
- error_type: error['type'],
249
- idempotency_key: nil,
250
- request_id: nil
251
- )
252
-
253
- stub_request(:post, "#{Stripe.api_base}/v1/account").
254
- to_return(
255
- body: JSON.generate({ :error => error }),
234
+ Util.expects(:log_error).with("Stripe API error",
235
+ status: 500,
236
+ error_code: error["code"],
237
+ error_message: error["message"],
238
+ error_param: error["param"],
239
+ error_type: error["type"],
240
+ idempotency_key: nil,
241
+ request_id: nil)
242
+
243
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
244
+ .to_return(
245
+ body: JSON.generate(error: error),
256
246
  status: 500
257
247
  )
258
248
 
259
249
  client = StripeClient.new
260
250
  assert_raises Stripe::APIError do
261
- client.execute_request(:post, '/v1/account')
251
+ client.execute_request(:post, "/v1/account")
262
252
  end
263
253
  end
264
254
 
265
255
  should "produce logging on OAuth error" do
266
256
  Util.expects(:log_info).with("Request to Stripe API",
267
- account: nil,
268
- api_version: nil,
269
- idempotency_key: nil,
270
- method: :post,
271
- num_retries: 0,
272
- path: "/oauth/token"
273
- )
257
+ account: nil,
258
+ api_version: nil,
259
+ idempotency_key: nil,
260
+ method: :post,
261
+ num_retries: 0,
262
+ path: "/oauth/token")
274
263
  Util.expects(:log_info).with("Response from Stripe API",
275
- account: nil,
276
- api_version: nil,
277
- elapsed: 0.0,
278
- idempotency_key: nil,
279
- method: :post,
280
- path: "/oauth/token",
281
- request_id: nil,
282
- status: 400
283
- )
284
-
285
- Util.expects(:log_error).with('Stripe OAuth error',
286
- status: 400,
287
- error_code: "invalid_request",
288
- error_description: "No grant type specified",
289
- idempotency_key: nil,
290
- request_id: nil
291
- )
292
-
293
- stub_request(:post, "#{Stripe.connect_base}/oauth/token").
294
- to_return(body: JSON.generate({
295
- error: "invalid_request",
296
- error_description: "No grant type specified",
297
- }), status: 400)
264
+ account: nil,
265
+ api_version: nil,
266
+ elapsed: 0.0,
267
+ idempotency_key: nil,
268
+ method: :post,
269
+ path: "/oauth/token",
270
+ request_id: nil,
271
+ status: 400)
272
+
273
+ Util.expects(:log_error).with("Stripe OAuth error",
274
+ status: 400,
275
+ error_code: "invalid_request",
276
+ error_description: "No grant type specified",
277
+ idempotency_key: nil,
278
+ request_id: nil)
279
+
280
+ stub_request(:post, "#{Stripe.connect_base}/oauth/token")
281
+ .to_return(body: JSON.generate(error: "invalid_request",
282
+ error_description: "No grant type specified"), status: 400)
298
283
 
299
284
  client = StripeClient.new
300
- opts = {api_base: Stripe.connect_base}
285
+ opts = { api_base: Stripe.connect_base }
301
286
  assert_raises Stripe::OAuth::InvalidRequestError do
302
- client.execute_request(:post, '/oauth/token', opts)
287
+ client.execute_request(:post, "/oauth/token", opts)
303
288
  end
304
289
  end
305
290
  end
@@ -308,14 +293,14 @@ module Stripe
308
293
  should "use a globally set header" do
309
294
  begin
310
295
  old = Stripe.stripe_account
311
- Stripe.stripe_account = 'acct_1234'
296
+ Stripe.stripe_account = "acct_1234"
312
297
 
313
- stub_request(:post, "#{Stripe.api_base}/v1/account").
314
- with(headers: {"Stripe-Account" => Stripe.stripe_account}).
315
- to_return(body: JSON.generate({ object: "account" }))
298
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
299
+ .with(headers: { "Stripe-Account" => Stripe.stripe_account })
300
+ .to_return(body: JSON.generate(object: "account"))
316
301
 
317
302
  client = StripeClient.new
318
- client.execute_request(:post, '/v1/account')
303
+ client.execute_request(:post, "/v1/account")
319
304
  ensure
320
305
  Stripe.stripe_account = old
321
306
  end
@@ -323,24 +308,23 @@ module Stripe
323
308
 
324
309
  should "use a locally set header" do
325
310
  stripe_account = "acct_0000"
326
- stub_request(:post, "#{Stripe.api_base}/v1/account").
327
- with(headers: {"Stripe-Account" => stripe_account}).
328
- to_return(body: JSON.generate({ object: "account" }))
311
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
312
+ .with(headers: { "Stripe-Account" => stripe_account })
313
+ .to_return(body: JSON.generate(object: "account"))
329
314
 
330
315
  client = StripeClient.new
331
- client.execute_request(:post, '/v1/account',
332
- headers: { :stripe_account => stripe_account }
333
- )
316
+ client.execute_request(:post, "/v1/account",
317
+ headers: { stripe_account: stripe_account })
334
318
  end
335
319
 
336
320
  should "not send it otherwise" do
337
- stub_request(:post, "#{Stripe.api_base}/v1/account").
338
- with { |req|
321
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
322
+ .with do |req|
339
323
  req.headers["Stripe-Account"].nil?
340
- }.to_return(body: JSON.generate({ object: "account" }))
324
+ end.to_return(body: JSON.generate(object: "account"))
341
325
 
342
326
  client = StripeClient.new
343
- client.execute_request(:post, '/v1/account')
327
+ client.execute_request(:post, "/v1/account")
344
328
  end
345
329
  end
346
330
 
@@ -354,27 +338,27 @@ module Stripe
354
338
  version: "1.2.34"
355
339
  )
356
340
 
357
- stub_request(:post, "#{Stripe.api_base}/v1/account").
358
- with { |req|
341
+ stub_request(:post, "#{Stripe.api_base}/v1/account")
342
+ .with do |req|
359
343
  assert_equal \
360
344
  "Stripe/v1 RubyBindings/#{Stripe::VERSION} " \
361
345
  "MyAwesomePlugin/1.2.34 (https://myawesomeplugin.info)",
362
346
  req.headers["User-Agent"]
363
347
 
364
348
  data = JSON.parse(req.headers["X-Stripe-Client-User-Agent"],
365
- symbolize_names: true)
349
+ symbolize_names: true)
366
350
 
367
351
  assert_equal({
368
352
  name: "MyAwesomePlugin",
369
353
  url: "https://myawesomeplugin.info",
370
- version: "1.2.34"
354
+ version: "1.2.34",
371
355
  }, data[:application])
372
356
 
373
357
  true
374
- }.to_return(body: JSON.generate({ object: "account" }))
358
+ end.to_return(body: JSON.generate(object: "account"))
375
359
 
376
360
  client = StripeClient.new
377
- client.execute_request(:post, '/v1/account')
361
+ client.execute_request(:post, "/v1/account")
378
362
  ensure
379
363
  Stripe.app_info = old
380
364
  end
@@ -383,184 +367,169 @@ module Stripe
383
367
 
384
368
  context "error handling" do
385
369
  should "handle error response with empty body" do
386
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
387
- to_return(body: '', status: 500)
370
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
371
+ .to_return(body: "", status: 500)
388
372
 
389
373
  client = StripeClient.new
390
374
  e = assert_raises Stripe::APIError do
391
- client.execute_request(:post, '/v1/charges')
375
+ client.execute_request(:post, "/v1/charges")
392
376
  end
393
377
 
394
378
  assert_equal 'Invalid response object from API: "" (HTTP response code was 500)', e.message
395
379
  end
396
380
 
397
381
  should "handle success response with empty body" do
398
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
399
- to_return(body: '', status: 200)
382
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
383
+ .to_return(body: "", status: 200)
400
384
 
401
385
  client = StripeClient.new
402
386
  e = assert_raises Stripe::APIError do
403
- client.execute_request(:post, '/v1/charges')
387
+ client.execute_request(:post, "/v1/charges")
404
388
  end
405
389
 
406
390
  assert_equal 'Invalid response object from API: "" (HTTP response code was 200)', e.message
407
391
  end
408
392
 
409
393
  should "handle error response with unknown value" do
410
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
411
- to_return(body: JSON.generate({ bar: "foo" }), status: 500)
394
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
395
+ .to_return(body: JSON.generate(bar: "foo"), status: 500)
412
396
 
413
397
  client = StripeClient.new
414
398
  e = assert_raises Stripe::APIError do
415
- client.execute_request(:post, '/v1/charges')
399
+ client.execute_request(:post, "/v1/charges")
416
400
  end
417
401
 
418
402
  assert_equal 'Invalid response object from API: "{\"bar\":\"foo\"}" (HTTP response code was 500)', e.message
419
403
  end
420
404
 
421
405
  should "raise InvalidRequestError on 400" do
422
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
423
- to_return(body: JSON.generate(make_missing_id_error), status: 400)
406
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
407
+ .to_return(body: JSON.generate(make_missing_id_error), status: 400)
424
408
  client = StripeClient.new
425
409
  begin
426
- client.execute_request(:post, '/v1/charges')
410
+ client.execute_request(:post, "/v1/charges")
427
411
  rescue Stripe::InvalidRequestError => e
428
412
  assert_equal(400, e.http_status)
429
- assert_equal(true, !!e.http_body)
430
- assert_equal(true, e.json_body.kind_of?(Hash))
413
+ assert_equal(true, e.json_body.is_a?(Hash))
431
414
  end
432
415
  end
433
416
 
434
417
  should "raise AuthenticationError on 401" do
435
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
436
- to_return(body: JSON.generate(make_missing_id_error), status: 401)
418
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
419
+ .to_return(body: JSON.generate(make_missing_id_error), status: 401)
437
420
  client = StripeClient.new
438
421
  begin
439
- client.execute_request(:post, '/v1/charges')
422
+ client.execute_request(:post, "/v1/charges")
440
423
  rescue Stripe::AuthenticationError => e
441
424
  assert_equal(401, e.http_status)
442
- assert_equal(true, !!e.http_body)
443
- assert_equal(true, e.json_body.kind_of?(Hash))
425
+ assert_equal(true, e.json_body.is_a?(Hash))
444
426
  end
445
427
  end
446
428
 
447
429
  should "raise CardError on 402" do
448
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
449
- to_return(body: JSON.generate(make_missing_id_error), status: 402)
430
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
431
+ .to_return(body: JSON.generate(make_missing_id_error), status: 402)
450
432
  client = StripeClient.new
451
433
  begin
452
- client.execute_request(:post, '/v1/charges')
434
+ client.execute_request(:post, "/v1/charges")
453
435
  rescue Stripe::CardError => e
454
436
  assert_equal(402, e.http_status)
455
- assert_equal(true, !!e.http_body)
456
- assert_equal(true, e.json_body.kind_of?(Hash))
437
+ assert_equal(true, e.json_body.is_a?(Hash))
457
438
  end
458
439
  end
459
440
 
460
441
  should "raise PermissionError on 403" do
461
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
462
- to_return(body: JSON.generate(make_missing_id_error), status: 403)
442
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
443
+ .to_return(body: JSON.generate(make_missing_id_error), status: 403)
463
444
  client = StripeClient.new
464
445
  begin
465
- client.execute_request(:post, '/v1/charges')
446
+ client.execute_request(:post, "/v1/charges")
466
447
  rescue Stripe::PermissionError => e
467
448
  assert_equal(403, e.http_status)
468
- assert_equal(true, !!e.http_body)
469
- assert_equal(true, e.json_body.kind_of?(Hash))
449
+ assert_equal(true, e.json_body.is_a?(Hash))
470
450
  end
471
451
  end
472
452
 
473
453
  should "raise InvalidRequestError on 404" do
474
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
475
- to_return(body: JSON.generate(make_missing_id_error), status: 404)
454
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
455
+ .to_return(body: JSON.generate(make_missing_id_error), status: 404)
476
456
  client = StripeClient.new
477
457
  begin
478
- client.execute_request(:post, '/v1/charges')
458
+ client.execute_request(:post, "/v1/charges")
479
459
  rescue Stripe::InvalidRequestError => e
480
460
  assert_equal(404, e.http_status)
481
- assert_equal(true, !!e.http_body)
482
- assert_equal(true, e.json_body.kind_of?(Hash))
461
+ assert_equal(true, e.json_body.is_a?(Hash))
483
462
  end
484
463
  end
485
464
 
486
465
  should "raise RateLimitError on 429" do
487
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
488
- to_return(body: JSON.generate(make_rate_limit_error), status: 429)
466
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
467
+ .to_return(body: JSON.generate(make_rate_limit_error), status: 429)
489
468
  client = StripeClient.new
490
469
  begin
491
- client.execute_request(:post, '/v1/charges')
470
+ client.execute_request(:post, "/v1/charges")
492
471
  rescue Stripe::RateLimitError => e
493
472
  assert_equal(429, e.http_status)
494
- assert_equal(true, !!e.http_body)
495
- assert_equal(true, e.json_body.kind_of?(Hash))
473
+ assert_equal(true, e.json_body.is_a?(Hash))
496
474
  end
497
475
  end
498
476
 
499
477
  should "raise OAuth::InvalidRequestError when error is a string with value 'invalid_request'" do
500
- stub_request(:post, "#{Stripe.connect_base}/oauth/token").
501
- to_return(body: JSON.generate({
502
- error: "invalid_request",
503
- error_description: "No grant type specified",
504
- }), status: 400)
478
+ stub_request(:post, "#{Stripe.connect_base}/oauth/token")
479
+ .to_return(body: JSON.generate(error: "invalid_request",
480
+ error_description: "No grant type specified"), status: 400)
505
481
 
506
482
  client = StripeClient.new
507
- opts = {api_base: Stripe.connect_base}
483
+ opts = { api_base: Stripe.connect_base }
508
484
  e = assert_raises Stripe::OAuth::InvalidRequestError do
509
- client.execute_request(:post, '/oauth/token', opts)
485
+ client.execute_request(:post, "/oauth/token", opts)
510
486
  end
511
487
 
512
488
  assert_equal(400, e.http_status)
513
- assert_equal(true, !!e.http_body)
514
- assert_equal('No grant type specified', e.message)
489
+ assert_equal("No grant type specified", e.message)
515
490
  end
516
491
 
517
492
  should "raise OAuth::InvalidGrantError when error is a string with value 'invalid_grant'" do
518
- stub_request(:post, "#{Stripe.connect_base}/oauth/token").
519
- to_return(body: JSON.generate({
520
- error: "invalid_grant",
521
- error_description: "This authorization code has already been used. All tokens issued with this code have been revoked.",
522
- }), status: 400)
493
+ stub_request(:post, "#{Stripe.connect_base}/oauth/token")
494
+ .to_return(body: JSON.generate(error: "invalid_grant",
495
+ error_description: "This authorization code has already been used. All tokens issued with this code have been revoked."), status: 400)
523
496
 
524
497
  client = StripeClient.new
525
- opts = {api_base: Stripe.connect_base}
498
+ opts = { api_base: Stripe.connect_base }
526
499
  e = assert_raises Stripe::OAuth::InvalidGrantError do
527
- client.execute_request(:post, '/oauth/token', opts)
500
+ client.execute_request(:post, "/oauth/token", opts)
528
501
  end
529
502
 
530
503
  assert_equal(400, e.http_status)
531
- assert_equal('invalid_grant', e.code)
532
- assert_equal('This authorization code has already been used. All tokens issued with this code have been revoked.', e.message)
504
+ assert_equal("invalid_grant", e.code)
505
+ assert_equal("This authorization code has already been used. All tokens issued with this code have been revoked.", e.message)
533
506
  end
534
507
 
535
508
  should "raise OAuth::InvalidClientError when error is a string with value 'invalid_client'" do
536
- stub_request(:post, "#{Stripe.connect_base}/oauth/deauthorize").
537
- to_return(body: JSON.generate({
538
- error: "invalid_client",
539
- error_description: "This application is not connected to stripe account acct_19tLK7DSlTMT26Mk, or that account does not exist.",
540
- }), status: 401)
509
+ stub_request(:post, "#{Stripe.connect_base}/oauth/deauthorize")
510
+ .to_return(body: JSON.generate(error: "invalid_client",
511
+ error_description: "This application is not connected to stripe account acct_19tLK7DSlTMT26Mk, or that account does not exist."), status: 401)
541
512
 
542
513
  client = StripeClient.new
543
- opts = {api_base: Stripe.connect_base}
514
+ opts = { api_base: Stripe.connect_base }
544
515
  e = assert_raises Stripe::OAuth::InvalidClientError do
545
- client.execute_request(:post, '/oauth/deauthorize', opts)
516
+ client.execute_request(:post, "/oauth/deauthorize", opts)
546
517
  end
547
518
 
548
519
  assert_equal(401, e.http_status)
549
- assert_equal('invalid_client', e.code)
550
- assert_equal('This application is not connected to stripe account acct_19tLK7DSlTMT26Mk, or that account does not exist.', e.message)
520
+ assert_equal("invalid_client", e.code)
521
+ assert_equal("This application is not connected to stripe account acct_19tLK7DSlTMT26Mk, or that account does not exist.", e.message)
551
522
  end
552
523
 
553
524
  should "raise Stripe::OAuthError on indeterminate OAuth error" do
554
- stub_request(:post, "#{Stripe.connect_base}/oauth/deauthorize").
555
- to_return(body: JSON.generate({
556
- error: "new_code_not_recognized",
557
- error_description: "Something.",
558
- }), status: 401)
525
+ stub_request(:post, "#{Stripe.connect_base}/oauth/deauthorize")
526
+ .to_return(body: JSON.generate(error: "new_code_not_recognized",
527
+ error_description: "Something."), status: 401)
559
528
 
560
529
  client = StripeClient.new
561
- opts = {api_base: Stripe.connect_base}
530
+ opts = { api_base: Stripe.connect_base }
562
531
  e = assert_raises Stripe::OAuth::OAuthError do
563
- client.execute_request(:post, '/oauth/deauthorize', opts)
532
+ client.execute_request(:post, "/oauth/deauthorize", opts)
564
533
  end
565
534
 
566
535
  assert_equal(401, e.http_status)
@@ -574,48 +543,48 @@ module Stripe
574
543
  Stripe.stubs(:max_network_retries).returns(2)
575
544
  end
576
545
 
577
- should 'not add an idempotency key to GET requests' do
546
+ should "not add an idempotency key to GET requests" do
578
547
  SecureRandom.expects(:uuid).times(0)
579
- stub_request(:get, "#{Stripe.api_base}/v1/charges/ch_123").
580
- with { |req|
581
- req.headers['Idempotency-Key'].nil?
582
- }.to_return(body: JSON.generate({ object: "charge" }))
548
+ stub_request(:get, "#{Stripe.api_base}/v1/charges/ch_123")
549
+ .with do |req|
550
+ req.headers["Idempotency-Key"].nil?
551
+ end.to_return(body: JSON.generate(object: "charge"))
583
552
  client = StripeClient.new
584
553
  client.execute_request(:get, "/v1/charges/ch_123")
585
554
  end
586
555
 
587
- should 'ensure there is always an idempotency_key on POST requests' do
556
+ should "ensure there is always an idempotency_key on POST requests" do
588
557
  SecureRandom.expects(:uuid).at_least_once.returns("random_key")
589
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
590
- with(headers: {"Idempotency-Key" => "random_key"}).
591
- to_return(body: JSON.generate({ object: "charge" }))
558
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
559
+ .with(headers: { "Idempotency-Key" => "random_key" })
560
+ .to_return(body: JSON.generate(object: "charge"))
592
561
  client = StripeClient.new
593
562
  client.execute_request(:post, "/v1/charges")
594
563
  end
595
564
 
596
- should 'ensure there is always an idempotency_key on DELETE requests' do
565
+ should "ensure there is always an idempotency_key on DELETE requests" do
597
566
  SecureRandom.expects(:uuid).at_least_once.returns("random_key")
598
- stub_request(:delete, "#{Stripe.api_base}/v1/charges/ch_123").
599
- with(headers: {"Idempotency-Key" => "random_key"}).
600
- to_return(body: JSON.generate({ object: "charge" }))
567
+ stub_request(:delete, "#{Stripe.api_base}/v1/charges/ch_123")
568
+ .with(headers: { "Idempotency-Key" => "random_key" })
569
+ .to_return(body: JSON.generate(object: "charge"))
601
570
  client = StripeClient.new
602
571
  client.execute_request(:delete, "/v1/charges/ch_123")
603
572
  end
604
573
 
605
- should 'not override a provided idempotency_key' do
574
+ should "not override a provided idempotency_key" do
606
575
  # Note that this expectation looks like `:idempotency_key` instead of
607
576
  # the header `Idempotency-Key` because it's user provided as seen
608
577
  # below. The ones injected by the library itself look like headers
609
578
  # (`Idempotency-Key`), but rest-client does allow this symbol
610
579
  # formatting and will properly override the system generated one as
611
580
  # expected.
612
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
613
- with(headers: {"Idempotency-Key" => "provided_key"}).
614
- to_return(body: JSON.generate({ object: "charge" }))
581
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
582
+ .with(headers: { "Idempotency-Key" => "provided_key" })
583
+ .to_return(body: JSON.generate(object: "charge"))
615
584
 
616
585
  client = StripeClient.new
617
586
  client.execute_request(:post, "/v1/charges",
618
- headers: {:idempotency_key => 'provided_key'})
587
+ headers: { idempotency_key: "provided_key" })
619
588
  end
620
589
  end
621
590
 
@@ -624,65 +593,65 @@ module Stripe
624
593
  Stripe.stubs(:max_network_retries).returns(2)
625
594
  end
626
595
 
627
- should 'retry failed requests and raise if error persists' do
596
+ should "retry failed requests and raise if error persists" do
628
597
  StripeClient.expects(:sleep_time).at_least_once.returns(0)
629
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
630
- to_raise(Errno::ECONNREFUSED.new)
598
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
599
+ .to_raise(Errno::ECONNREFUSED.new)
631
600
 
632
601
  client = StripeClient.new
633
602
  err = assert_raises Stripe::APIConnectionError do
634
- client.execute_request(:post, '/v1/charges')
603
+ client.execute_request(:post, "/v1/charges")
635
604
  end
636
605
  assert_match(/Request was retried 2 times/, err.message)
637
606
  end
638
607
 
639
- should 'retry failed requests and return successful response' do
608
+ should "retry failed requests and return successful response" do
640
609
  StripeClient.expects(:sleep_time).at_least_once.returns(0)
641
610
 
642
611
  i = 0
643
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
644
- to_return { |_|
612
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
613
+ .to_return do |_|
645
614
  if i < 2
646
615
  i += 1
647
- raise Errno::ECONNREFUSED.new
616
+ raise Errno::ECONNREFUSED
648
617
  else
649
- { body: JSON.generate({"id" => "myid"}) }
618
+ { body: JSON.generate("id" => "myid") }
650
619
  end
651
- }
620
+ end
652
621
 
653
622
  client = StripeClient.new
654
- client.execute_request(:post, '/v1/charges')
623
+ client.execute_request(:post, "/v1/charges")
655
624
  end
656
625
  end
657
626
 
658
627
  context "params serialization" do
659
- should 'allows empty strings in params' do
628
+ should "allows empty strings in params" do
660
629
  client = StripeClient.new
661
- client.execute_request(:get, '/v1/invoices/upcoming', params: {
662
- customer: 'cus_123',
663
- coupon: ''
630
+ client.execute_request(:get, "/v1/invoices/upcoming", params: {
631
+ customer: "cus_123",
632
+ coupon: "",
664
633
  })
665
634
  assert_requested(
666
635
  :get,
667
636
  "#{Stripe.api_base}/v1/invoices/upcoming?",
668
637
  query: {
669
- customer: 'cus_123',
670
- coupon: ''
638
+ customer: "cus_123",
639
+ coupon: "",
671
640
  }
672
641
  )
673
642
  end
674
643
 
675
- should 'filter nils in params' do
644
+ should "filter nils in params" do
676
645
  client = StripeClient.new
677
- client.execute_request(:get, '/v1/invoices/upcoming', params: {
678
- customer: 'cus_123',
679
- coupon: nil
646
+ client.execute_request(:get, "/v1/invoices/upcoming", params: {
647
+ customer: "cus_123",
648
+ coupon: nil,
680
649
  })
681
650
  assert_requested(
682
651
  :get,
683
652
  "#{Stripe.api_base}/v1/invoices/upcoming?",
684
653
  query: {
685
- customer: 'cus_123'
654
+ customer: "cus_123",
686
655
  }
687
656
  )
688
657
  end
@@ -691,8 +660,8 @@ module Stripe
691
660
 
692
661
  context "#request" do
693
662
  should "return a result and response object" do
694
- stub_request(:post, "#{Stripe.api_base}/v1/charges").
695
- to_return(body: JSON.generate({ object: "charge" }))
663
+ stub_request(:post, "#{Stripe.api_base}/v1/charges")
664
+ .to_return(body: JSON.generate(object: "charge"))
696
665
 
697
666
  client = StripeClient.new
698
667
  charge, resp = client.request { Charge.create }
@@ -704,7 +673,7 @@ module Stripe
704
673
 
705
674
  should "return the value of given block" do
706
675
  client = StripeClient.new
707
- ret, _ = client.request { 7 }
676
+ ret, = client.request { 7 }
708
677
  assert_equal 7, ret
709
678
  end
710
679
 
@@ -724,26 +693,26 @@ module Stripe
724
693
  end
725
694
 
726
695
  class SystemProfilerTest < Test::Unit::TestCase
727
- context "#get_uname" do
696
+ context "#uname" do
728
697
  should "run without failure" do
729
698
  # Don't actually check the result because we try a variety of different
730
699
  # strategies that will have different results depending on where this
731
700
  # test and running. We're mostly making sure that no exception is thrown.
732
- _ = StripeClient::SystemProfiler.get_uname
701
+ _ = StripeClient::SystemProfiler.uname
733
702
  end
734
703
  end
735
704
 
736
- context "#get_uname_from_system" do
705
+ context "#uname_from_system" do
737
706
  should "run without failure" do
738
707
  # as above, just verify that an exception is not thrown
739
- _ = StripeClient::SystemProfiler.get_uname_from_system
708
+ _ = StripeClient::SystemProfiler.uname_from_system
740
709
  end
741
710
  end
742
711
 
743
- context "#get_uname_from_system_ver" do
712
+ context "#uname_from_system_ver" do
744
713
  should "run without failure" do
745
714
  # as above, just verify that an exception is not thrown
746
- _ = StripeClient::SystemProfiler.get_uname_from_system_ver
715
+ _ = StripeClient::SystemProfiler.uname_from_system_ver
747
716
  end
748
717
  end
749
718
  end