webpay 2.0.2 → 2.0.3

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 (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