webpay 2.4.1 → 3.0.0

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 (79) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -2
  3. data/Rakefile +0 -6
  4. data/lib/webpay/account.rb +19 -24
  5. data/lib/webpay/api_resource.rb +5 -0
  6. data/lib/webpay/charge.rb +48 -27
  7. data/lib/webpay/customer.rb +56 -91
  8. data/lib/webpay/data_types.rb +2069 -0
  9. data/lib/webpay/error.rb +68 -0
  10. data/lib/webpay/event.rb +19 -16
  11. data/lib/webpay/recursion.rb +47 -46
  12. data/lib/webpay/shop.rb +37 -68
  13. data/lib/webpay/token.rb +19 -10
  14. data/lib/webpay.rb +114 -77
  15. data/webpay.gemspec +6 -13
  16. metadata +16 -179
  17. data/.rspec +0 -2
  18. data/.travis.yml +0 -12
  19. data/LICENSE.txt +0 -22
  20. data/README.md +0 -52
  21. data/gemfiles/no_doc_gems +0 -14
  22. data/lib/data/ca-certificates.crt +0 -3829
  23. data/lib/webpay/card.rb +0 -13
  24. data/lib/webpay/client.rb +0 -81
  25. data/lib/webpay/deleted_entity.rb +0 -8
  26. data/lib/webpay/entity.rb +0 -71
  27. data/lib/webpay/entity_list.rb +0 -25
  28. data/lib/webpay/fee.rb +0 -13
  29. data/lib/webpay/operations.rb +0 -49
  30. data/lib/webpay/response_converter.rb +0 -57
  31. data/lib/webpay/version.rb +0 -5
  32. data/lib/webpay/webpay_error.rb +0 -126
  33. data/spec/resources/account/delete.txt +0 -15
  34. data/spec/resources/account/retrieve.txt +0 -23
  35. data/spec/resources/charges/all.txt +0 -139
  36. data/spec/resources/charges/capture.txt +0 -49
  37. data/spec/resources/charges/create_with_card.txt +0 -49
  38. data/spec/resources/charges/create_with_customer.txt +0 -49
  39. data/spec/resources/charges/refund.txt +0 -57
  40. data/spec/resources/charges/retrieve.txt +0 -49
  41. data/spec/resources/charges/retrieve_not_captured.txt +0 -42
  42. data/spec/resources/customers/all.txt +0 -76
  43. data/spec/resources/customers/create.txt +0 -31
  44. data/spec/resources/customers/delete.txt +0 -16
  45. data/spec/resources/customers/retrieve.txt +0 -63
  46. data/spec/resources/customers/retrieve_deleted.txt +0 -16
  47. data/spec/resources/customers/update.txt +0 -31
  48. data/spec/resources/errors/bad_request.txt +0 -18
  49. data/spec/resources/errors/broken_json.txt +0 -16
  50. data/spec/resources/errors/card_error.txt +0 -19
  51. data/spec/resources/errors/not_found.txt +0 -18
  52. data/spec/resources/errors/not_found_ja.txt +0 -20
  53. data/spec/resources/errors/unauthorized.txt +0 -16
  54. data/spec/resources/errors/unknown_api_error.txt +0 -17
  55. data/spec/resources/events/all_with_type.txt +0 -164
  56. data/spec/resources/events/retrieve.txt +0 -41
  57. data/spec/resources/recursions/all.txt +0 -61
  58. data/spec/resources/recursions/create.txt +0 -26
  59. data/spec/resources/recursions/delete.txt +0 -16
  60. data/spec/resources/recursions/resume.txt +0 -26
  61. data/spec/resources/recursions/retrieve.txt +0 -26
  62. data/spec/resources/recursions/retrieve_deleted.txt +0 -16
  63. data/spec/resources/recursions/retrieve_suspended.txt +0 -26
  64. data/spec/resources/shops/all.txt +0 -122
  65. data/spec/resources/shops/create.txt +0 -54
  66. data/spec/resources/shops/retrieve.txt +0 -54
  67. data/spec/resources/shops/update.txt +0 -55
  68. data/spec/resources/tokens/create.txt +0 -30
  69. data/spec/resources/tokens/retrieve.txt +0 -30
  70. data/spec/spec_helper.rb +0 -37
  71. data/spec/webpay/account_spec.rb +0 -24
  72. data/spec/webpay/charge_spec.rb +0 -143
  73. data/spec/webpay/customer_spec.rb +0 -109
  74. data/spec/webpay/event_spec.rb +0 -30
  75. data/spec/webpay/recursion_spec.rb +0 -93
  76. data/spec/webpay/shop_spec.rb +0 -121
  77. data/spec/webpay/token_spec.rb +0 -33
  78. data/spec/webpay/webpay_error_spec.rb +0 -64
  79. data/spec/webpay_spec.rb +0 -40
@@ -1,33 +0,0 @@
1
- require 'spec_helper'
2
- describe WebPay::Token do
3
- describe '.create' do
4
- let(:params) {{:number=>'4242-4242-4242-4242',
5
- :exp_month=>'12',
6
- :exp_year=>'2015',
7
- :cvc=>'123',
8
- :name=>'YUUKO SHIONJI'}}
9
- before do
10
- stub_post_request('/tokens', 'tokens/create', params)
11
- end
12
- subject(:token) { WebPay::Token.create(params)}
13
-
14
- its(:id) { should eq 'tok_3dw2T20rzekM1Kf' }
15
- its(:used) { should eq false }
16
- it 'card.name' do
17
- expect(token.card.name).to eq 'YUUKO SHIONJI'
18
- end
19
- end
20
-
21
- describe '.retrieve' do
22
- let(:id) { 'tok_3dw2T20rzekM1Kf' }
23
- before do
24
- stub_get_request("/tokens/#{id}", 'tokens/retrieve')
25
- end
26
-
27
- subject(:token) { described_class.retrieve(id) }
28
- its(:id) { should eq id }
29
- it 'card.fingerprint' do
30
- expect(token.card.fingerprint).to eq '215b5b2fe460809b8bb90bae6eeac0e0e0987bd7'
31
- end
32
- end
33
- end
@@ -1,64 +0,0 @@
1
- require 'spec_helper'
2
- describe WebPay::WebPayError do
3
- def error_response_from_file(name)
4
- content = response_file('errors/' + name).read
5
- status = content.split(" ", 3)[1].to_i
6
- body = content.split("\n\n", 2).last
7
-
8
- described_class.from_response(status, body)
9
- end
10
-
11
- describe 'Bad Request' do
12
- subject(:error) { error_response_from_file('bad_request') }
13
- it { should be_instance_of WebPay::InvalidRequestError }
14
- its(:status) { should eq 400 }
15
- its(:type) { should eq 'invalid_request_error' }
16
- its(:param) { should eq 'currency' }
17
- its(:message) { should eq 'Missing required param: currency' }
18
- end
19
-
20
- describe 'Unauthorized' do
21
- subject(:error) { error_response_from_file('unauthorized') }
22
- it { should be_instance_of WebPay::AuthenticationError }
23
- its(:status) { should eq 401 }
24
- its(:message) { should eq 'Invalid API key provided. Check your API key is correct.' }
25
- end
26
-
27
- describe 'Card Error' do
28
- subject(:error) { error_response_from_file('card_error') }
29
- it { should be_instance_of WebPay::CardError }
30
- its(:status) { should eq 402 }
31
- its(:type) { should eq 'card_error' }
32
- its(:param) { should eq 'number' }
33
- let(:code) { should eq 'incorrect_number' }
34
- its(:message) { should eq 'Your card number is incorrect' }
35
- end
36
-
37
- describe 'Not Found' do
38
- subject(:error) { error_response_from_file('not_found') }
39
- it { should be_instance_of WebPay::InvalidRequestError }
40
- its(:status) { should eq 404 }
41
- its(:type) { should eq 'invalid_request_error' }
42
- its(:param) { should eq 'id' }
43
- end
44
-
45
- describe 'API Error' do
46
- subject(:error) { error_response_from_file('unknown_api_error') }
47
- it { should be_instance_of WebPay::APIError }
48
- its(:status) { should eq 500 }
49
- its(:type) { should eq 'api_error' }
50
- its(:message) { should eq 'Unknown error occurred' }
51
- end
52
-
53
- describe 'The response JSON is broken' do
54
- subject(:error) { error_response_from_file('broken_json') }
55
- it { should be_instance_of WebPay::APIConnectionError }
56
- its(:message) { should include 'Response JSON is broken' }
57
- end
58
-
59
- describe 'The response JSON has no "error" field' do
60
- subject(:error) { described_class.from_response(404, '{}') }
61
- it { should be_instance_of WebPay::APIConnectionError }
62
- its(:message) { should include 'Invalid response {}' }
63
- end
64
- end
data/spec/webpay_spec.rb DELETED
@@ -1,40 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- require 'spec_helper'
3
- require 'uri'
4
-
5
- describe WebPay do
6
- it 'should set proxy on Faraday client from api_proxy option' do
7
- proxy_uri = 'http://test.example.com:8080'
8
- WebPay.api_proxy = proxy_uri
9
- expect(WebPay.client.instance_variable_get(:@conn).proxy[:uri])
10
- .to eq(URI.parse(proxy_uri))
11
- end
12
-
13
- describe 'Not Found with Accept-Language: ja' do
14
- let(:id) { 'cus_eS6dGfa8BeUlbS' }
15
- before do
16
- stub_request(:get, 'http://api.example.com/v1/customers/' + id).
17
- with(headers: { 'Authorization' => 'Bearer fake_apikey', 'Accept-Language' => 'ja' }).
18
- to_return(response_file('errors/not_found_ja'))
19
- end
20
- subject(:error) {
21
- WebPay.api_base = 'http://api.example.com/v1'
22
- WebPay.language = :ja
23
- begin
24
- WebPay::Customer.retrieve(id)
25
- rescue => e
26
- e
27
- end
28
- }
29
- it { should be_instance_of WebPay::InvalidRequestError }
30
- its(:status) { should eq 404 }
31
- its(:type) { should eq 'invalid_request_error' }
32
- its(:param) { should eq 'id' }
33
- its(:message) { should eq '該当する顧客がありません: cus_eS6dGfa8BeUlbS' }
34
- end
35
-
36
- it 'should handle invalid URL as ApiConnectionError' do
37
- expect { WebPay::Charge.retrieve('ch_aaaaxxxx 2014-04-04') }.
38
- to raise_error(WebPay::APIConnectionError, 'Connection with WebPay API server failed. bad URI(is not URI?): /v1/charges/ch_aaaaxxxx 2014-04-04')
39
- end
40
- end