stripe 3.3.2 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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