stripe-ruby-mock 1.8.4.9 → 1.8.4.10

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.
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ script: "bundle exec rake"
data/Gemfile CHANGED
@@ -1,3 +1,7 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ group :test do
4
+ gem 'rake'
5
+ end
6
+
3
7
  gemspec
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # stripe-ruby-mock
1
+ # stripe-ruby-mock [![Build Status](https://travis-ci.org/rebelidealist/stripe-ruby-mock.png?branch=master)](https://travis-ci.org/rebelidealist/stripe-ruby-mock)
2
2
 
3
3
  * Homepage: https://github.com/rebelidealist/stripe-ruby-mock
4
4
  * Issues: https://github.com/rebelidealist/stripe-ruby-mock/issues
@@ -7,7 +7,7 @@
7
7
 
8
8
  In your gemfile:
9
9
 
10
- gem 'stripe-ruby-mock', '>= 1.8.4.9'
10
+ gem 'stripe-ruby-mock', '>= 1.8.4.10'
11
11
 
12
12
  ## Features
13
13
 
@@ -17,7 +17,7 @@ In your gemfile:
17
17
 
18
18
  ## Description
19
19
 
20
- ** *WARNING: THIS LIBRARY IS INCOMPLETE AND IN ACTIVE DEVELOPMENT* **
20
+ ** *WARNING: This library does not cover all Stripe API endpoints. If you need one that's missing, please create an issue for it.* **
21
21
 
22
22
  At its core, this library overrides [stripe-ruby's](https://github.com/stripe/stripe-ruby)
23
23
  request method to skip all http calls and
@@ -191,16 +191,21 @@ end
191
191
  By default, StripeMock searches in your `spec/fixtures/stripe_webhooks/` folder for your own, custom webhooks.
192
192
  If it finds nothing, it falls back to [test events generated through stripe's webhooktester](lib/stripe_mock/webhook_fixtures/).
193
193
 
194
- You can name events whatever you like in your `spec/fixtures/stripe_webhooks/` folder. However, if you try to call a non-existant event that's not in that folder, StripeMock will throw an error.
194
+ For example, you could create a file in `spec/fixtures/stripe_webhooks/invoice.created.with-sub.json`, copy/paste the default from [the default invoice.created.json](lib/stripe_mock/webhook_fixtures/invoice.created.json), and customize it to your needs.
195
195
 
196
- If you wish to use a different fixture path, you can set it yourself:
196
+ Then you can use that webook directly in your specs:
197
197
 
198
- StripeMock.webhook_fixture_path = './spec/other/folder/'
198
+ ```ruby
199
+ it "can use a custom webhook fixture" do
200
+ event = StripeMock.mock_webhook_event('invoice.created.with-sub')
201
+ # etc.
202
+ end
203
+ ```
199
204
 
200
- Also, you can override values whenever you create any webhook event:
205
+ You can alse override values on the fly:
201
206
 
202
207
  ```ruby
203
- it "can override default webhook values" do
208
+ it "can override webhook values" do
204
209
  # NOTE: given hash values get merged directly into event.data.object
205
210
  event = StripeMock.mock_webhook_event('customer.created', {
206
211
  :id => 'cus_my_custom_value',
@@ -214,6 +219,12 @@ it "can override default webhook values" do
214
219
  end
215
220
  ```
216
221
 
222
+ You can name events whatever you like in your `spec/fixtures/stripe_webhooks/` folder. However, if you try to call a non-standard event that's doesn't exist in that folder, StripeMock will throw an error.
223
+
224
+ If you wish to use a different fixture path, you can set it yourself:
225
+
226
+ StripeMock.webhook_fixture_path = './spec/other/folder/'
227
+
217
228
  ## Generating Card Tokens
218
229
 
219
230
  Sometimes you need to check if your code reads a stripe card correctly. If so, you can specifically
@@ -244,9 +255,7 @@ If you always want debug to be on (it's quite verbose), you should put this in a
244
255
  ## TODO
245
256
 
246
257
  * Cover all stripe urls/methods
247
- * Create hash for storing/retrieving all stripe objects in-memory
248
- * Currently implemented for: **Customers**, **Charges**, and **Plans**
249
- * Throw useful errors that emulate Stripe's
258
+ * Throw useful errors that emulate Stripe's requirements
250
259
  * For example: "You must supply either a card or a customer id" for `Stripe::Charge`
251
260
 
252
261
  ## Developing stripe-ruby-mock
@@ -0,0 +1,13 @@
1
+ module StripeMock
2
+
3
+ def self.generate_bank_token(bank_params)
4
+ if @state == 'local'
5
+ instance.generate_bank_token(bank_params)
6
+ elsif @state == 'remote'
7
+ client.generate_bank_token(bank_params)
8
+ else
9
+ raise UnstartedStateError
10
+ end
11
+ end
12
+
13
+ end
@@ -48,6 +48,10 @@ module StripeMock
48
48
  timeout_wrap { @pipe.strict? }
49
49
  end
50
50
 
51
+ def generate_bank_token(recipient_params)
52
+ timeout_wrap { @pipe.generate_bank_token(recipient_params) }
53
+ end
54
+
51
55
  def generate_card_token(card_params)
52
56
  timeout_wrap { @pipe.generate_card_token(card_params) }
53
57
  end
@@ -67,6 +67,21 @@ module StripeMock
67
67
  }.merge(params)
68
68
  end
69
69
 
70
+ def self.mock_refund(params={})
71
+ mock_charge.merge({
72
+ refunded: true,
73
+ refunds: [
74
+ {
75
+ amount: params[:amount],
76
+ currency: "usd",
77
+ created: 1380208998,
78
+ object: "refund",
79
+ balance_transaction: "txn_2dyYXXP90MN26R"
80
+ }
81
+ ]
82
+ })
83
+ end
84
+
70
85
  def self.mock_charge_array
71
86
  {
72
87
  :data => [test_charge, test_charge, test_charge],
@@ -99,6 +114,18 @@ module StripeMock
99
114
  }.merge(params)
100
115
  end
101
116
 
117
+ def self.mock_bank_account(params={})
118
+ {
119
+ object: "bank_account",
120
+ bank_name: "STRIPEMOCK TEST BANK",
121
+ last4: "6789",
122
+ country: "US",
123
+ currency: "usd",
124
+ validated: false,
125
+ fingerprint: "aBcFinGerPrINt123"
126
+ }.merge(params)
127
+ end
128
+
102
129
  def self.mock_coupon(params={})
103
130
  {
104
131
  :duration => 'repeating',
@@ -312,6 +339,5 @@ module StripeMock
312
339
  :id => "di_test_coupon"
313
340
  }
314
341
  end
315
-
316
342
  end
317
343
  end
@@ -16,18 +16,23 @@ module StripeMock
16
16
  end
17
17
 
18
18
  include StripeMock::RequestHandlers::Charges
19
+ include StripeMock::RequestHandlers::Cards
19
20
  include StripeMock::RequestHandlers::Customers
20
21
  include StripeMock::RequestHandlers::InvoiceItems
21
22
  include StripeMock::RequestHandlers::Plans
23
+ include StripeMock::RequestHandlers::Recipients
22
24
 
23
25
 
24
- attr_reader :charges, :customers, :plans, :error_queue
26
+ attr_reader :charges, :customers, :plans, :error_queue, :recipients
27
+ attr_reader :bank_tokens
25
28
  attr_accessor :debug, :strict
26
29
 
27
30
  def initialize
28
31
  @customers = {}
32
+ @recipients = {}
29
33
  @charges = {}
30
34
  @plans = {}
35
+ @bank_tokens = {}
31
36
  @card_tokens = {}
32
37
 
33
38
  @id_counter = 0
@@ -65,6 +70,12 @@ module StripeMock
65
70
  end
66
71
  end
67
72
 
73
+ def generate_bank_token(bank_params)
74
+ token = new_id 'btok'
75
+ @bank_tokens[token] = Data.mock_bank_account(bank_params)
76
+ token
77
+ end
78
+
68
79
  def generate_card_token(card_params)
69
80
  token = new_id 'tok'
70
81
  card_params[:id] = new_id 'cc'
@@ -72,6 +83,14 @@ module StripeMock
72
83
  token
73
84
  end
74
85
 
86
+ def get_bank_by_token(token)
87
+ if token.nil? || @bank_tokens[token].nil?
88
+ Data.mock_bank_account
89
+ else
90
+ @bank_tokens.delete(token)
91
+ end
92
+ end
93
+
75
94
  def get_card_by_token(token)
76
95
  if token.nil? || @card_tokens[token].nil?
77
96
  Data.mock_card :id => new_id('cc')
@@ -80,6 +99,20 @@ module StripeMock
80
99
  end
81
100
  end
82
101
 
102
+ def add_card_to_customer(card, cus)
103
+ card[:customer] = cus[:id]
104
+
105
+ if cus[:cards][:count] == 0
106
+ cus[:cards][:count] += 1
107
+ else
108
+ cus[:cards][:data].delete_if {|card| card[:id] == cus[:default_card]}
109
+ end
110
+
111
+ cus[:cards][:data] << card
112
+
113
+ card
114
+ end
115
+
83
116
  private
84
117
 
85
118
  def assert_existance(type, id, obj, message=nil)
@@ -0,0 +1,37 @@
1
+ module StripeMock
2
+ module RequestHandlers
3
+ module Cards
4
+
5
+ def Cards.included(klass)
6
+ klass.add_handler 'post /v1/customers/(.*)/cards', :create_card
7
+ end
8
+
9
+ def create_card(route, method_url, params, headers)
10
+ route =~ method_url
11
+
12
+ customer = customers[$1]
13
+ assert_existance :customer, $1, customer
14
+
15
+ card = card_from_params(params[:card])
16
+ add_card_to_customer(card, customer)
17
+ end
18
+
19
+ private
20
+
21
+ def validate_card(card)
22
+ [:exp_month, :exp_year].each do |field|
23
+ card[field] = card[field].to_i
24
+ end
25
+ card
26
+ end
27
+
28
+ def card_from_params(attrs_or_token)
29
+ if attrs_or_token.is_a? Hash
30
+ attrs_or_token = generate_card_token(attrs_or_token)
31
+ end
32
+ card = get_card_by_token(attrs_or_token)
33
+ validate_card(card)
34
+ end
35
+ end
36
+ end
37
+ end
@@ -6,6 +6,7 @@ module StripeMock
6
6
  klass.add_handler 'post /v1/charges', :new_charge
7
7
  klass.add_handler 'get /v1/charges/(.*)', :get_charge
8
8
  klass.add_handler 'post /v1/charges/(.*)/capture', :capture_charge
9
+ klass.add_handler 'post /v1/charges/(.*)/refund', :refund_charge
9
10
  end
10
11
 
11
12
  def new_charge(route, method_url, params, headers)
@@ -28,6 +29,11 @@ module StripeMock
28
29
  charge
29
30
  end
30
31
 
32
+ def refund_charge(route, method_url, params, headers)
33
+ route =~ method_url
34
+ charge = Data.mock_refund(params)
35
+ end
36
+
31
37
  end
32
38
  end
33
39
  end
@@ -8,6 +8,7 @@ module StripeMock
8
8
  klass.add_handler 'delete /v1/customers/(.*)/subscription', :cancel_subscription
9
9
  klass.add_handler 'post /v1/customers/(.*)', :update_customer
10
10
  klass.add_handler 'get /v1/customers/(.*)', :get_customer
11
+ klass.add_handler 'delete /v1/customers/(.*)', :delete_customer
11
12
  klass.add_handler 'get /v1/customers', :list_customers
12
13
  end
13
14
 
@@ -65,20 +66,25 @@ module StripeMock
65
66
 
66
67
  if params[:card]
67
68
  new_card = get_card_by_token(params.delete(:card))
68
-
69
- if cus[:cards][:count] == 0
70
- cus[:cards][:count] += 1
71
- else
72
- cus[:cards][:data].delete_if {|card| card[:id] == cus[:default_card]}
73
- end
74
-
75
- cus[:cards][:data] << new_card
69
+ add_card_to_customer(new_card, cus)
76
70
  cus[:default_card] = new_card[:id]
77
71
  end
78
72
 
79
73
  cus
80
74
  end
81
75
 
76
+ def delete_customer(route, method_url, params, headers)
77
+ route =~ method_url
78
+ assert_existance :customer, $1, customers[$1]
79
+
80
+ customers[$1] = {
81
+ id: customers[$1][:id],
82
+ deleted: true
83
+ }
84
+
85
+ customers[$1]
86
+ end
87
+
82
88
  def get_customer(route, method_url, params, headers)
83
89
  route =~ method_url
84
90
  assert_existance :customer, $1, customers[$1]
@@ -0,0 +1,26 @@
1
+ module StripeMock
2
+ module RequestHandlers
3
+ module Recipients
4
+
5
+ def Recipients.included(klass)
6
+ klass.add_handler 'post /v1/recipients', :new_recipient
7
+ klass.add_handler 'get /v1/recipients/(.*)', :get_recipient
8
+ end
9
+
10
+ def new_recipient(route, method_url, params, headers)
11
+ id = new_id('rp')
12
+ if params[:bank_account]
13
+ params[:active_account] = get_bank_by_token(params.delete(:bank_account))
14
+ end
15
+ recipients[id] = Data.mock_recipient(params.merge :id => id)
16
+ recipients[id]
17
+ end
18
+
19
+ def get_recipient(route, method_url, params, headers)
20
+ route =~ method_url
21
+ assert_existance :recipient, $1, recipients[$1]
22
+ recipients[$1] ||= Data.mock_recipient(:id => $1)
23
+ end
24
+ end
25
+ end
26
+ end
@@ -50,6 +50,10 @@ module StripeMock
50
50
  @instance.generate_card_token(card_params)
51
51
  end
52
52
 
53
+ def generate_bank_token(recipient_params)
54
+ @instance.generate_bank_token(recipient_params)
55
+ end
56
+
53
57
  def debug?; @instance.debug; end
54
58
  def strict?; @instance.strict; end
55
59
  def ping; true; end
@@ -1,4 +1,4 @@
1
1
  module StripeMock
2
2
  # stripe-ruby-mock version
3
- VERSION = "1.8.4.9"
3
+ VERSION = "1.8.4.10"
4
4
  end
data/lib/stripe_mock.rb CHANGED
@@ -23,15 +23,18 @@ require 'stripe_mock/api/instance'
23
23
  require 'stripe_mock/api/client'
24
24
  require 'stripe_mock/api/server'
25
25
  require 'stripe_mock/api/card_tokens'
26
+ require 'stripe_mock/api/bank_tokens'
26
27
  require 'stripe_mock/api/errors'
27
28
  require 'stripe_mock/api/webhooks'
28
29
  require 'stripe_mock/api/strict'
29
30
  require 'stripe_mock/api/debug'
30
31
 
31
32
  require 'stripe_mock/request_handlers/charges.rb'
33
+ require 'stripe_mock/request_handlers/cards.rb'
32
34
  require 'stripe_mock/request_handlers/customers.rb'
33
35
  require 'stripe_mock/request_handlers/invoice_items.rb'
34
36
  require 'stripe_mock/request_handlers/plans.rb'
37
+ require 'stripe_mock/request_handlers/recipients.rb'
35
38
  require 'stripe_mock/instance'
36
39
 
37
40
  module StripeMock
@@ -0,0 +1,40 @@
1
+ require 'spec_helper'
2
+
3
+ shared_examples 'Bank Account Token Mocking' do
4
+
5
+ it "generates a bank token with an associated account in memory" do
6
+ bank_token = StripeMock.generate_bank_token(
7
+ :bank_name => "Memory Bank",
8
+ :last4 => "7171"
9
+ )
10
+ tokens = test_data_source(:bank_tokens)
11
+ expect(tokens[bank_token]).to_not be_nil
12
+ expect(tokens[bank_token][:bank_name]).to eq("Memory Bank")
13
+ expect(tokens[bank_token][:last4]).to eq("7171")
14
+ end
15
+
16
+ it "creates a token whose id begins with test_btok" do
17
+ bank_token = StripeMock.generate_bank_token({
18
+ :last4 => "1212"
19
+ })
20
+ expect(bank_token).to match /^test_btok/
21
+ end
22
+
23
+ it "assigns the generated bank account to a new recipient" do
24
+ bank_token = StripeMock.generate_bank_token(
25
+ :bank_name => "Bank Token Mocking",
26
+ :last4 => "7777"
27
+ )
28
+
29
+ recipient = Stripe::Recipient.create({
30
+ name: "Fred Flinstone",
31
+ type: "individual",
32
+ email: 'blah@domain.co',
33
+ bank_account: bank_token
34
+ })
35
+ expect(recipient.active_account.last4).to eq("7777")
36
+ expect(recipient.active_account.bank_name).to eq("Bank Token Mocking")
37
+ end
38
+
39
+ end
40
+
@@ -0,0 +1,54 @@
1
+ require 'spec_helper'
2
+
3
+ shared_examples 'Card API' do
4
+ it 'creates/returns a card when using customer.cards.create given a card token' do
5
+ customer = Stripe::Customer.create(id: 'test_customer_sub')
6
+ card_token = StripeMock.generate_card_token(last4: "1123", exp_month: 11, exp_year: 2099)
7
+ card = customer.cards.create(card: card_token)
8
+
9
+ expect(card.customer).to eq('test_customer_sub')
10
+ expect(card.last4).to eq("1123")
11
+ expect(card.exp_month).to eq(11)
12
+ expect(card.exp_year).to eq(2099)
13
+
14
+ customer = Stripe::Customer.retrieve('test_customer_sub')
15
+ expect(customer.cards.count).to eq(1)
16
+ card = customer.cards.data.first
17
+ expect(card.customer).to eq('test_customer_sub')
18
+ expect(card.last4).to eq("1123")
19
+ expect(card.exp_month).to eq(11)
20
+ expect(card.exp_year).to eq(2099)
21
+ end
22
+
23
+ it 'creates/returns a card when using customer.cards.create given card params' do
24
+ customer = Stripe::Customer.create(id: 'test_customer_sub')
25
+ card = customer.cards.create(card: {
26
+ number: '4242424242424242',
27
+ exp_month: '11',
28
+ exp_year: '3031',
29
+ cvc: '123'
30
+ })
31
+
32
+ expect(card.customer).to eq('test_customer_sub')
33
+ expect(card.last4).to eq("4242")
34
+ expect(card.exp_month).to eq(11)
35
+ expect(card.exp_year).to eq(3031)
36
+
37
+ customer = Stripe::Customer.retrieve('test_customer_sub')
38
+ expect(customer.cards.count).to eq(1)
39
+ card = customer.cards.data.first
40
+ expect(card.customer).to eq('test_customer_sub')
41
+ expect(card.last4).to eq("4242")
42
+ expect(card.exp_month).to eq(11)
43
+ expect(card.exp_year).to eq(3031)
44
+ end
45
+
46
+ it 'create does not change the customers default card' do
47
+ customer = Stripe::Customer.create(id: 'test_customer_sub')
48
+ card_token = StripeMock.generate_card_token(last4: "1123", exp_month: 11, exp_year: 2099)
49
+ card = customer.cards.create(card: card_token)
50
+
51
+ customer = Stripe::Customer.retrieve('test_customer_sub')
52
+ expect(customer.default_card).to be_nil
53
+ end
54
+ end
@@ -120,4 +120,18 @@ shared_examples 'Charge API' do
120
120
  expect(returned_charge.captured).to be_true
121
121
  end
122
122
  end
123
+
124
+ it "refunds a stripe charge item" do
125
+ charge = Stripe::Charge.create(
126
+ amount: 999,
127
+ currency: 'USD',
128
+ card: 'card_token_abcde',
129
+ description: 'card charge'
130
+ )
131
+
132
+ charge = charge.refund(amount: 999)
133
+
134
+ expect(charge.refunded).to eq(true)
135
+ expect(charge.refunds.first.amount).to eq(999)
136
+ end
123
137
  end
@@ -197,6 +197,11 @@ shared_examples 'Customer API' do
197
197
  }.to raise_error Stripe::InvalidRequestError
198
198
  end
199
199
 
200
+ it "deletes a customer" do
201
+ customer = Stripe::Customer.create(id: 'test_customer_sub')
202
+ customer = customer.delete
203
+ expect(customer.deleted).to be_true
204
+ end
200
205
 
201
206
  context "With strict mode toggled off" do
202
207
 
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ shared_examples 'Recipient API' do
4
+
5
+ it "creates a stripe recipient with a default card" do
6
+ recipient = Stripe::Recipient.create({
7
+ type: "corporation",
8
+ name: "MyCo",
9
+ email: "owner@myco.com",
10
+ bank_account: 'void_bank_token'
11
+ })
12
+ expect(recipient.id).to match /^test_rp/
13
+ expect(recipient.name).to eq('MyCo')
14
+ expect(recipient.email).to eq('owner@myco.com')
15
+
16
+ expect(recipient.active_account).to_not be_nil
17
+ expect(recipient.active_account.bank_name).to_not be_nil
18
+ expect(recipient.active_account.last4).to_not be_nil
19
+ end
20
+
21
+ it "stores a created stripe recipient in memory" do
22
+ recipient = Stripe::Recipient.create({
23
+ type: "individual",
24
+ name: "Customer One",
25
+ bank_account: 'bank_account_token_1'
26
+ })
27
+ recipient2 = Stripe::Recipient.create({
28
+ type: "individual",
29
+ name: "Customer Two",
30
+ bank_account: 'bank_account_token_1'
31
+ })
32
+ data = test_data_source(:recipients)
33
+ expect(data[recipient.id]).to_not be_nil
34
+ expect(data[recipient.id][:name]).to eq("Customer One")
35
+
36
+ expect(data[recipient2.id]).to_not be_nil
37
+ expect(data[recipient2.id][:name]).to eq("Customer Two")
38
+ end
39
+
40
+ it "retrieves a stripe recipient" do
41
+ original = Stripe::Recipient.create({
42
+ type: "individual",
43
+ name: "Bob",
44
+ email: "bob@example.com"
45
+ })
46
+ recipient = Stripe::Recipient.retrieve(original.id)
47
+
48
+ expect(recipient.id).to eq(original.id)
49
+ expect(recipient.name).to eq(original.name)
50
+ expect(recipient.email).to eq(original.email)
51
+ end
52
+
53
+ it "cannot retrieve a recipient that doesn't exist" do
54
+ expect { Stripe::Recipient.retrieve('nope') }.to raise_error {|e|
55
+ expect(e).to be_a Stripe::InvalidRequestError
56
+ expect(e.param).to eq('recipient')
57
+ expect(e.http_status).to eq(404)
58
+ }
59
+ end
60
+
61
+ end
62
+
@@ -1,18 +1,25 @@
1
1
 
2
2
  def require_stripe_examples
3
+ require 'shared_stripe_examples/bank_token_examples'
3
4
  require 'shared_stripe_examples/card_token_examples'
5
+ require 'shared_stripe_examples/card_examples'
4
6
  require 'shared_stripe_examples/charge_examples'
5
7
  require 'shared_stripe_examples/customer_examples'
6
8
  require 'shared_stripe_examples/error_mock_examples'
7
9
  require 'shared_stripe_examples/invoice_item_examples'
8
10
  require 'shared_stripe_examples/plan_examples'
11
+ require 'shared_stripe_examples/recipient_examples'
9
12
  end
10
13
 
11
14
  def it_behaves_like_stripe(&block)
15
+ it_behaves_like 'Bank Account Token Mocking', &block
12
16
  it_behaves_like 'Card Token Mocking', &block
17
+ it_behaves_like 'Card API', &block
18
+ it_behaves_like 'Charge API', &block
13
19
  it_behaves_like 'Charge API', &block
14
20
  it_behaves_like 'Customer API', &block
15
21
  it_behaves_like 'Invoice Item API', &block
16
22
  it_behaves_like 'Plan API', &block
23
+ it_behaves_like 'Recipient API', &block
17
24
  it_behaves_like 'Stripe Error Mocking', &block
18
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stripe-ruby-mock
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.4.9
4
+ version: 1.8.4.10
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-06 00:00:00.000000000 Z
12
+ date: 2013-09-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: stripe
@@ -116,6 +116,7 @@ extra_rdoc_files: []
116
116
  files:
117
117
  - .gitignore
118
118
  - .rspec
119
+ - .travis.yml
119
120
  - ChangeLog.rdoc
120
121
  - Gemfile
121
122
  - LICENSE.txt
@@ -123,6 +124,7 @@ files:
123
124
  - Rakefile
124
125
  - bin/stripe-mock-server
125
126
  - lib/stripe_mock.rb
127
+ - lib/stripe_mock/api/bank_tokens.rb
126
128
  - lib/stripe_mock/api/card_tokens.rb
127
129
  - lib/stripe_mock/api/client.rb
128
130
  - lib/stripe_mock/api/debug.rb
@@ -141,10 +143,12 @@ files:
141
143
  - lib/stripe_mock/errors/unstarted_state_error.rb
142
144
  - lib/stripe_mock/errors/unsupported_request_error.rb
143
145
  - lib/stripe_mock/instance.rb
146
+ - lib/stripe_mock/request_handlers/cards.rb
144
147
  - lib/stripe_mock/request_handlers/charges.rb
145
148
  - lib/stripe_mock/request_handlers/customers.rb
146
149
  - lib/stripe_mock/request_handlers/invoice_items.rb
147
150
  - lib/stripe_mock/request_handlers/plans.rb
151
+ - lib/stripe_mock/request_handlers/recipients.rb
148
152
  - lib/stripe_mock/server.rb
149
153
  - lib/stripe_mock/util.rb
150
154
  - lib/stripe_mock/version.rb
@@ -189,12 +193,15 @@ files:
189
193
  - spec/instance_spec.rb
190
194
  - spec/readme_spec.rb
191
195
  - spec/server_spec.rb
196
+ - spec/shared_stripe_examples/bank_token_examples.rb
197
+ - spec/shared_stripe_examples/card_examples.rb
192
198
  - spec/shared_stripe_examples/card_token_examples.rb
193
199
  - spec/shared_stripe_examples/charge_examples.rb
194
200
  - spec/shared_stripe_examples/customer_examples.rb
195
201
  - spec/shared_stripe_examples/error_mock_examples.rb
196
202
  - spec/shared_stripe_examples/invoice_item_examples.rb
197
203
  - spec/shared_stripe_examples/plan_examples.rb
204
+ - spec/shared_stripe_examples/recipient_examples.rb
198
205
  - spec/spec_helper.rb
199
206
  - spec/stripe_mock_spec.rb
200
207
  - spec/support/stripe_examples.rb
@@ -233,12 +240,15 @@ test_files:
233
240
  - spec/instance_spec.rb
234
241
  - spec/readme_spec.rb
235
242
  - spec/server_spec.rb
243
+ - spec/shared_stripe_examples/bank_token_examples.rb
244
+ - spec/shared_stripe_examples/card_examples.rb
236
245
  - spec/shared_stripe_examples/card_token_examples.rb
237
246
  - spec/shared_stripe_examples/charge_examples.rb
238
247
  - spec/shared_stripe_examples/customer_examples.rb
239
248
  - spec/shared_stripe_examples/error_mock_examples.rb
240
249
  - spec/shared_stripe_examples/invoice_item_examples.rb
241
250
  - spec/shared_stripe_examples/plan_examples.rb
251
+ - spec/shared_stripe_examples/recipient_examples.rb
242
252
  - spec/spec_helper.rb
243
253
  - spec/stripe_mock_spec.rb
244
254
  - spec/support/stripe_examples.rb