webpay 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/.rspec +2 -0
  4. data/.travis.yml +13 -0
  5. data/Rakefile +6 -0
  6. data/gemfiles/no_doc_gems +9 -0
  7. data/lib/webpay/client.rb +19 -1
  8. data/lib/webpay/version.rb +1 -1
  9. data/lib/webpay/webpay_error.rb +7 -1
  10. data/spec/resources/account/delete.txt +15 -0
  11. data/spec/resources/account/retrieve.txt +23 -0
  12. data/spec/resources/charges/all.txt +102 -0
  13. data/spec/resources/charges/capture.txt +41 -0
  14. data/spec/resources/charges/create_with_card.txt +41 -0
  15. data/spec/resources/charges/create_with_customer.txt +41 -0
  16. data/spec/resources/charges/refund.txt +41 -0
  17. data/spec/resources/charges/retrieve.txt +39 -0
  18. data/spec/resources/charges/retrieve_not_captured.txt +39 -0
  19. data/spec/resources/customers/all.txt +76 -0
  20. data/spec/resources/customers/create.txt +31 -0
  21. data/spec/resources/customers/delete.txt +16 -0
  22. data/spec/resources/customers/retrieve.txt +31 -0
  23. data/spec/resources/customers/update.txt +31 -0
  24. data/spec/resources/errors/bad_request.txt +18 -0
  25. data/spec/resources/errors/broken_json.txt +16 -0
  26. data/spec/resources/errors/card_error.txt +19 -0
  27. data/spec/resources/errors/not_found.txt +18 -0
  28. data/spec/resources/errors/unauthorized.txt +16 -0
  29. data/spec/resources/errors/unknown_api_error.txt +17 -0
  30. data/spec/resources/events/all_with_type.txt +164 -0
  31. data/spec/resources/events/retrieve.txt +41 -0
  32. data/spec/resources/tokens/create.txt +30 -0
  33. data/spec/resources/tokens/retrieve.txt +30 -0
  34. data/spec/spec_helper.rb +37 -0
  35. data/spec/webpay/account_spec.rb +24 -0
  36. data/spec/webpay/charge_spec.rb +115 -0
  37. data/spec/webpay/customer_spec.rb +94 -0
  38. data/spec/webpay/event_spec.rb +30 -0
  39. data/spec/webpay/token_spec.rb +33 -0
  40. data/spec/webpay/webpay_error_spec.rb +58 -0
  41. data/webpay.gemspec +2 -0
  42. metadata +103 -22
@@ -0,0 +1,58 @@
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
+ end
data/webpay.gemspec CHANGED
@@ -24,4 +24,6 @@ Gem::Specification.new do |spec|
24
24
  spec.add_development_dependency 'rake'
25
25
  spec.add_development_dependency 'yard', '~> 0.8.6.2'
26
26
  spec.add_development_dependency 'redcarpet', '~> 3.0.0'
27
+ spec.add_development_dependency 'rspec', '~> 2.14.0'
28
+ spec.add_development_dependency 'webmock', '~> 1.13.0'
27
29
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webpay
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
5
- prerelease:
4
+ version: 2.0.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - webpay
@@ -10,12 +9,11 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-07-31 00:00:00.000000000 Z
12
+ date: 2013-10-05 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: faraday
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
18
  - - ~>
21
19
  - !ruby/object:Gem::Version
@@ -23,7 +21,6 @@ dependencies:
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
25
  - - ~>
29
26
  - !ruby/object:Gem::Version
@@ -31,7 +28,6 @@ dependencies:
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: bundler
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
32
  - - ~>
37
33
  - !ruby/object:Gem::Version
@@ -39,7 +35,6 @@ dependencies:
39
35
  type: :development
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
39
  - - ~>
45
40
  - !ruby/object:Gem::Version
@@ -47,23 +42,20 @@ dependencies:
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: rake
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ! '>='
46
+ - - '>='
53
47
  - !ruby/object:Gem::Version
54
48
  version: '0'
55
49
  type: :development
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ! '>='
53
+ - - '>='
61
54
  - !ruby/object:Gem::Version
62
55
  version: '0'
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: yard
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
60
  - - ~>
69
61
  - !ruby/object:Gem::Version
@@ -71,7 +63,6 @@ dependencies:
71
63
  type: :development
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
67
  - - ~>
77
68
  - !ruby/object:Gem::Version
@@ -79,7 +70,6 @@ dependencies:
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: redcarpet
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
74
  - - ~>
85
75
  - !ruby/object:Gem::Version
@@ -87,11 +77,38 @@ dependencies:
87
77
  type: :development
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
81
  - - ~>
93
82
  - !ruby/object:Gem::Version
94
83
  version: 3.0.0
84
+ - !ruby/object:Gem::Dependency
85
+ name: rspec
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ version: 2.14.0
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ~>
96
+ - !ruby/object:Gem::Version
97
+ version: 2.14.0
98
+ - !ruby/object:Gem::Dependency
99
+ name: webmock
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ~>
103
+ - !ruby/object:Gem::Version
104
+ version: 1.13.0
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: 1.13.0
95
112
  description: WebPay is payment gateway service in Japan. see also https://webpay.jp/
96
113
  email:
97
114
  - administrators@webpay.jp
@@ -101,10 +118,13 @@ extensions: []
101
118
  extra_rdoc_files: []
102
119
  files:
103
120
  - .gitignore
121
+ - .rspec
122
+ - .travis.yml
104
123
  - Gemfile
105
124
  - LICENSE.txt
106
125
  - README.md
107
126
  - Rakefile
127
+ - gemfiles/no_doc_gems
108
128
  - lib/data/ca-certificates.crt
109
129
  - lib/webpay.rb
110
130
  - lib/webpay/account.rb
@@ -120,30 +140,91 @@ files:
120
140
  - lib/webpay/token.rb
121
141
  - lib/webpay/version.rb
122
142
  - lib/webpay/webpay_error.rb
143
+ - spec/resources/account/delete.txt
144
+ - spec/resources/account/retrieve.txt
145
+ - spec/resources/charges/all.txt
146
+ - spec/resources/charges/capture.txt
147
+ - spec/resources/charges/create_with_card.txt
148
+ - spec/resources/charges/create_with_customer.txt
149
+ - spec/resources/charges/refund.txt
150
+ - spec/resources/charges/retrieve.txt
151
+ - spec/resources/charges/retrieve_not_captured.txt
152
+ - spec/resources/customers/all.txt
153
+ - spec/resources/customers/create.txt
154
+ - spec/resources/customers/delete.txt
155
+ - spec/resources/customers/retrieve.txt
156
+ - spec/resources/customers/update.txt
157
+ - spec/resources/errors/bad_request.txt
158
+ - spec/resources/errors/broken_json.txt
159
+ - spec/resources/errors/card_error.txt
160
+ - spec/resources/errors/not_found.txt
161
+ - spec/resources/errors/unauthorized.txt
162
+ - spec/resources/errors/unknown_api_error.txt
163
+ - spec/resources/events/all_with_type.txt
164
+ - spec/resources/events/retrieve.txt
165
+ - spec/resources/tokens/create.txt
166
+ - spec/resources/tokens/retrieve.txt
167
+ - spec/spec_helper.rb
168
+ - spec/webpay/account_spec.rb
169
+ - spec/webpay/charge_spec.rb
170
+ - spec/webpay/customer_spec.rb
171
+ - spec/webpay/event_spec.rb
172
+ - spec/webpay/token_spec.rb
173
+ - spec/webpay/webpay_error_spec.rb
123
174
  - webpay.gemspec
124
175
  homepage: https://webpay.jp
125
176
  licenses:
126
177
  - MIT
178
+ metadata: {}
127
179
  post_install_message:
128
180
  rdoc_options: []
129
181
  require_paths:
130
182
  - lib
131
183
  required_ruby_version: !ruby/object:Gem::Requirement
132
- none: false
133
184
  requirements:
134
- - - ! '>='
185
+ - - '>='
135
186
  - !ruby/object:Gem::Version
136
187
  version: '0'
137
188
  required_rubygems_version: !ruby/object:Gem::Requirement
138
- none: false
139
189
  requirements:
140
- - - ! '>='
190
+ - - '>='
141
191
  - !ruby/object:Gem::Version
142
192
  version: '0'
143
193
  requirements: []
144
194
  rubyforge_project:
145
- rubygems_version: 1.8.23
195
+ rubygems_version: 2.0.0
146
196
  signing_key:
147
- specification_version: 3
197
+ specification_version: 4
148
198
  summary: Ruby bindings of WebPay API
149
- test_files: []
199
+ test_files:
200
+ - spec/resources/account/delete.txt
201
+ - spec/resources/account/retrieve.txt
202
+ - spec/resources/charges/all.txt
203
+ - spec/resources/charges/capture.txt
204
+ - spec/resources/charges/create_with_card.txt
205
+ - spec/resources/charges/create_with_customer.txt
206
+ - spec/resources/charges/refund.txt
207
+ - spec/resources/charges/retrieve.txt
208
+ - spec/resources/charges/retrieve_not_captured.txt
209
+ - spec/resources/customers/all.txt
210
+ - spec/resources/customers/create.txt
211
+ - spec/resources/customers/delete.txt
212
+ - spec/resources/customers/retrieve.txt
213
+ - spec/resources/customers/update.txt
214
+ - spec/resources/errors/bad_request.txt
215
+ - spec/resources/errors/broken_json.txt
216
+ - spec/resources/errors/card_error.txt
217
+ - spec/resources/errors/not_found.txt
218
+ - spec/resources/errors/unauthorized.txt
219
+ - spec/resources/errors/unknown_api_error.txt
220
+ - spec/resources/events/all_with_type.txt
221
+ - spec/resources/events/retrieve.txt
222
+ - spec/resources/tokens/create.txt
223
+ - spec/resources/tokens/retrieve.txt
224
+ - spec/spec_helper.rb
225
+ - spec/webpay/account_spec.rb
226
+ - spec/webpay/charge_spec.rb
227
+ - spec/webpay/customer_spec.rb
228
+ - spec/webpay/event_spec.rb
229
+ - spec/webpay/token_spec.rb
230
+ - spec/webpay/webpay_error_spec.rb