adyen 2.2.0 → 2.3.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 (43) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.travis.yml +12 -5
  4. data/CHANGELOG.md +5 -2
  5. data/CONTRIBUTING.md +1 -1
  6. data/Gemfile +4 -0
  7. data/README.md +0 -2
  8. data/Rakefile +2 -8
  9. data/adyen.gemspec +4 -5
  10. data/lib/adyen/api.rb +14 -10
  11. data/lib/adyen/api/payment_service.rb +35 -4
  12. data/lib/adyen/api/templates/payment_service.rb +5 -0
  13. data/lib/adyen/form.rb +1 -1
  14. data/lib/adyen/hpp/request.rb +8 -6
  15. data/lib/adyen/rest.rb +21 -8
  16. data/lib/adyen/rest/client.rb +13 -0
  17. data/lib/adyen/templates/notification_migration.rb +1 -1
  18. data/lib/adyen/templates/notification_model.rb +2 -2
  19. data/lib/adyen/version.rb +1 -1
  20. data/{spec/functional/api_spec.rb → test/functional/api_test.rb} +38 -33
  21. data/{spec → test}/functional/initializer.rb.ci +0 -0
  22. data/{spec → test}/functional/initializer.rb.sample +0 -0
  23. data/test/helpers/views/hpp.erb +15 -15
  24. data/test/test_helper.rb +1 -0
  25. data/{spec/api/api_spec.rb → test/unit/api/api_test.rb} +7 -7
  26. data/{spec/api/payment_service_spec.rb → test/unit/api/payment_service_test.rb} +149 -117
  27. data/{spec/api/recurring_service_spec.rb → test/unit/api/recurring_service_test.rb} +49 -46
  28. data/{spec/api/response_spec.rb → test/unit/api/response_test.rb} +12 -12
  29. data/{spec/api/simple_soap_client_spec.rb → test/unit/api/simple_soap_client_test.rb} +27 -30
  30. data/{spec/api/spec_helper.rb → test/unit/api/test_helper.rb} +44 -35
  31. data/{spec/api/test_helpers_spec.rb → test/unit/api/test_helpers_test.rb} +11 -11
  32. data/test/{form_test.rb → unit/form_test.rb} +0 -0
  33. data/test/unit/hpp/request_test.rb +68 -0
  34. data/test/{hpp → unit/hpp}/signature_test.rb +0 -0
  35. data/test/{hpp_test.rb → unit/hpp_test.rb} +0 -0
  36. data/test/{rest → unit/rest}/signature_test.rb +0 -0
  37. data/test/{rest_list_recurring_details_response_test.rb → unit/rest_list_recurring_details_response_test.rb} +0 -0
  38. data/test/{rest_request_test.rb → unit/rest_request_test.rb} +0 -0
  39. data/test/{rest_response_test.rb → unit/rest_response_test.rb} +0 -0
  40. data/test/{signature_test.rb → unit/signature_test.rb} +0 -0
  41. data/test/{util_test.rb → unit/util_test.rb} +0 -0
  42. metadata +53 -61
  43. data/spec/spec_helper.rb +0 -8
@@ -1,6 +1,6 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'api/spec_helper'
3
+ require 'unit/api/test_helper'
4
4
  require 'adyen/api/test_helpers'
5
5
 
6
6
  describe "Test helpers" do
@@ -42,29 +42,29 @@ describe "Test helpers" do
42
42
  it "returns an `authorized' response" do
43
43
  stub_net_http(AUTHORISATION_DECLINED_RESPONSE)
44
44
  Adyen::API::PaymentService.stub_success!
45
- @payment.authorise_payment.should be_authorized
45
+ @payment.authorise_payment.must_be :authorized?
46
46
 
47
- @payment.authorise_payment.should_not be_authorized
47
+ @payment.authorise_payment.wont_be :authorized?
48
48
  end
49
49
 
50
50
  it "returns a `refused' response" do
51
51
  stub_net_http(AUTHORISE_RESPONSE)
52
52
  Adyen::API::PaymentService.stub_refused!
53
53
  response = @payment.authorise_payment
54
- response.should_not be_authorized
55
- response.should_not be_invalid_request
54
+ response.wont_be :authorized?
55
+ response.wont_be :invalid_request?
56
56
 
57
- @payment.authorise_payment.should be_authorized
57
+ @payment.authorise_payment.must_be :authorized?
58
58
  end
59
59
 
60
60
  it "returns a `invalid request' response" do
61
61
  stub_net_http(AUTHORISE_RESPONSE)
62
62
  Adyen::API::PaymentService.stub_invalid!
63
63
  response = @payment.authorise_payment
64
- response.should_not be_authorized
65
- response.should be_invalid_request
64
+ response.wont_be :authorized?
65
+ response.must_be :invalid_request?
66
66
 
67
- @payment.authorise_payment.should be_authorized
67
+ @payment.authorise_payment.must_be :authorized?
68
68
  end
69
69
  end
70
70
 
@@ -77,8 +77,8 @@ describe "Test helpers" do
77
77
  it "returns a `disabled' response" do
78
78
  stub_net_http(DISABLE_RESPONSE % 'nope')
79
79
  Adyen::API::RecurringService.stub_disabled!
80
- @recurring.disable.should be_disabled
81
- @recurring.disable.should_not be_disabled
80
+ @recurring.disable.must_be :disabled?
81
+ @recurring.disable.wont_be :disabled?
82
82
  end
83
83
  end
84
84
  end
File without changes
@@ -0,0 +1,68 @@
1
+ require 'test_helper'
2
+ require 'adyen/hpp/request'
3
+
4
+ class HPPRequestTest < Minitest::Test
5
+ def setup
6
+ Adyen.configuration.default_form_params[:merchant_account] = 'TestMerchant'
7
+ Adyen.configuration.default_skin = :skin1
8
+
9
+ # Use autodetection for the environment unless otherwise specified
10
+ Adyen.configuration.environment = nil
11
+ Adyen.configuration.payment_flow = :select
12
+ Adyen.configuration.payment_flow_domain = nil
13
+ Adyen.configuration.default_skin = :skin1
14
+
15
+ @raw_params = {
16
+ :merchant_account => 'TestMerchant',
17
+ :currency_code => 'EUR',
18
+ :payment_amount => '199',
19
+ :session_validity => '2015-06-25T10:31:06Z',
20
+ :ship_before_date => '2015-07-01',
21
+ :shopper_locale => 'en_GB',
22
+ :merchant_reference => 'SKINTEST-1435226439255',
23
+ :skin_code => 'X7hsNDWp',
24
+ }
25
+ end
26
+
27
+ def test_formatted_parameters
28
+ expected_parameters = {
29
+ merchant_account: "TestMerchant",
30
+ currency_code: "EUR",
31
+ payment_amount: "199",
32
+ session_validity: "2015-06-25T10:31:06Z",
33
+ ship_before_date: "2015-07-01",
34
+ shopper_locale: "en_GB",
35
+ merchant_reference: "SKINTEST-1435226439255",
36
+ skin_code: "X7hsNDWp"}
37
+
38
+ parameters = Adyen::HPP::Request.new(@raw_params).formatted_parameters
39
+ assert_equal parameters, expected_parameters
40
+ end
41
+
42
+ def test_formatted_parameters_without_parameters
43
+ request = Adyen::HPP::Request.new('String')
44
+
45
+ exception = assert_raises(ArgumentError) { request.formatted_parameters }
46
+ assert_equal("Cannot generate request: parameters should be a hash!", exception.message)
47
+ end
48
+
49
+ def test_formatted_parameters_without_currency_code
50
+ @raw_params.delete(:currency_code)
51
+ request = Adyen::HPP::Request.new(@raw_params)
52
+
53
+ exception = assert_raises(ArgumentError) { request.formatted_parameters }
54
+ assert_equal("Cannot generate request: :currency_code attribute not found!", exception.message)
55
+ end
56
+
57
+ def test_formatted_parameters_missing_parameters
58
+ Adyen.configuration.default_form_params[:merchant_account] = nil
59
+ Adyen.configuration.default_skin = 'unknown_skin'
60
+ %i(currency_code payment_amount merchant_account skin_code ship_before_date session_validity).each do |parameter|
61
+ params = @raw_params.reject { |param| param == parameter }
62
+ request = Adyen::HPP::Request.new(params)
63
+
64
+ exception = assert_raises(ArgumentError) { request.formatted_parameters }
65
+ assert_equal("Cannot generate request: :#{parameter} attribute not found!", exception.message)
66
+ end
67
+ end
68
+ end
File without changes
File without changes
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adyen
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Willem van Bergen
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2016-06-23 00:00:00.000000000 Z
14
+ date: 2017-09-07 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: rake
@@ -27,34 +27,20 @@ dependencies:
27
27
  - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
- - !ruby/object:Gem::Dependency
31
- name: rspec
32
- requirement: !ruby/object:Gem::Requirement
33
- requirements:
34
- - - ~>
35
- - !ruby/object:Gem::Version
36
- version: '2.14'
37
- type: :development
38
- prerelease: false
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ~>
42
- - !ruby/object:Gem::Version
43
- version: '2.14'
44
30
  - !ruby/object:Gem::Dependency
45
31
  name: minitest
46
32
  requirement: !ruby/object:Gem::Requirement
47
33
  requirements:
48
34
  - - ~>
49
35
  - !ruby/object:Gem::Version
50
- version: '5'
36
+ version: '5.0'
51
37
  type: :development
52
38
  prerelease: false
53
39
  version_requirements: !ruby/object:Gem::Requirement
54
40
  requirements:
55
41
  - - ~>
56
42
  - !ruby/object:Gem::Version
57
- version: '5'
43
+ version: '5.0'
58
44
  - !ruby/object:Gem::Dependency
59
45
  name: mocha
60
46
  requirement: !ruby/object:Gem::Requirement
@@ -98,12 +84,15 @@ dependencies:
98
84
  - !ruby/object:Gem::Version
99
85
  version: '0'
100
86
  - !ruby/object:Gem::Dependency
101
- name: rails
87
+ name: railties
102
88
  requirement: !ruby/object:Gem::Requirement
103
89
  requirements:
104
90
  - - '>='
105
91
  - !ruby/object:Gem::Version
106
92
  version: '3.2'
93
+ - - <
94
+ - !ruby/object:Gem::Version
95
+ version: '5.2'
107
96
  type: :development
108
97
  prerelease: false
109
98
  version_requirements: !ruby/object:Gem::Requirement
@@ -111,20 +100,23 @@ dependencies:
111
100
  - - '>='
112
101
  - !ruby/object:Gem::Version
113
102
  version: '3.2'
103
+ - - <
104
+ - !ruby/object:Gem::Version
105
+ version: '5.2'
114
106
  - !ruby/object:Gem::Dependency
115
107
  name: nokogiri
116
108
  requirement: !ruby/object:Gem::Requirement
117
109
  requirements:
118
110
  - - '>='
119
111
  - !ruby/object:Gem::Version
120
- version: 1.6.1
112
+ version: 1.6.8
121
113
  type: :development
122
114
  prerelease: false
123
115
  version_requirements: !ruby/object:Gem::Requirement
124
116
  requirements:
125
117
  - - '>='
126
118
  - !ruby/object:Gem::Version
127
- version: 1.6.1
119
+ version: 1.6.8
128
120
  description: |2
129
121
  Package to simplify including the Adyen payments services into a Ruby on Rails application.
130
122
  The package provides functionality to create payment forms, handling and storing notifications
@@ -187,18 +179,9 @@ files:
187
179
  - lib/adyen/templates/notification_model.rb
188
180
  - lib/adyen/util.rb
189
181
  - lib/adyen/version.rb
190
- - spec/api/api_spec.rb
191
- - spec/api/payment_service_spec.rb
192
- - spec/api/recurring_service_spec.rb
193
- - spec/api/response_spec.rb
194
- - spec/api/simple_soap_client_spec.rb
195
- - spec/api/spec_helper.rb
196
- - spec/api/test_helpers_spec.rb
197
- - spec/functional/api_spec.rb
198
- - spec/functional/initializer.rb.ci
199
- - spec/functional/initializer.rb.sample
200
- - spec/spec_helper.rb
201
- - test/form_test.rb
182
+ - test/functional/api_test.rb
183
+ - test/functional/initializer.rb.ci
184
+ - test/functional/initializer.rb.sample
202
185
  - test/functional/payment_authorisation_api_test.rb
203
186
  - test/functional/payment_modification_api_test.rb
204
187
  - test/helpers/capybara.rb
@@ -212,18 +195,27 @@ files:
212
195
  - test/helpers/views/index.erb
213
196
  - test/helpers/views/pay.erb
214
197
  - test/helpers/views/redirect_shopper.erb
215
- - test/hpp/signature_test.rb
216
- - test/hpp_test.rb
217
198
  - test/integration/hpp_integration_test.rb
218
199
  - test/integration/payment_using_3d_secure_integration_test.rb
219
200
  - test/integration/payment_with_client_side_encryption_integration_test.rb
220
- - test/rest/signature_test.rb
221
- - test/rest_list_recurring_details_response_test.rb
222
- - test/rest_request_test.rb
223
- - test/rest_response_test.rb
224
- - test/signature_test.rb
225
201
  - test/test_helper.rb
226
- - test/util_test.rb
202
+ - test/unit/api/api_test.rb
203
+ - test/unit/api/payment_service_test.rb
204
+ - test/unit/api/recurring_service_test.rb
205
+ - test/unit/api/response_test.rb
206
+ - test/unit/api/simple_soap_client_test.rb
207
+ - test/unit/api/test_helper.rb
208
+ - test/unit/api/test_helpers_test.rb
209
+ - test/unit/form_test.rb
210
+ - test/unit/hpp/request_test.rb
211
+ - test/unit/hpp/signature_test.rb
212
+ - test/unit/hpp_test.rb
213
+ - test/unit/rest/signature_test.rb
214
+ - test/unit/rest_list_recurring_details_response_test.rb
215
+ - test/unit/rest_request_test.rb
216
+ - test/unit/rest_response_test.rb
217
+ - test/unit/signature_test.rb
218
+ - test/unit/util_test.rb
227
219
  - yard_extensions.rb
228
220
  homepage: http://github.com/wvanbergen/adyen/wiki
229
221
  licenses:
@@ -257,18 +249,9 @@ signing_key:
257
249
  specification_version: 4
258
250
  summary: Integrate Adyen payment services in your Ruby on Rails application.
259
251
  test_files:
260
- - spec/api/api_spec.rb
261
- - spec/api/payment_service_spec.rb
262
- - spec/api/recurring_service_spec.rb
263
- - spec/api/response_spec.rb
264
- - spec/api/simple_soap_client_spec.rb
265
- - spec/api/spec_helper.rb
266
- - spec/api/test_helpers_spec.rb
267
- - spec/functional/api_spec.rb
268
- - spec/functional/initializer.rb.ci
269
- - spec/functional/initializer.rb.sample
270
- - spec/spec_helper.rb
271
- - test/form_test.rb
252
+ - test/functional/api_test.rb
253
+ - test/functional/initializer.rb.ci
254
+ - test/functional/initializer.rb.sample
272
255
  - test/functional/payment_authorisation_api_test.rb
273
256
  - test/functional/payment_modification_api_test.rb
274
257
  - test/helpers/capybara.rb
@@ -282,15 +265,24 @@ test_files:
282
265
  - test/helpers/views/index.erb
283
266
  - test/helpers/views/pay.erb
284
267
  - test/helpers/views/redirect_shopper.erb
285
- - test/hpp/signature_test.rb
286
- - test/hpp_test.rb
287
268
  - test/integration/hpp_integration_test.rb
288
269
  - test/integration/payment_using_3d_secure_integration_test.rb
289
270
  - test/integration/payment_with_client_side_encryption_integration_test.rb
290
- - test/rest/signature_test.rb
291
- - test/rest_list_recurring_details_response_test.rb
292
- - test/rest_request_test.rb
293
- - test/rest_response_test.rb
294
- - test/signature_test.rb
295
271
  - test/test_helper.rb
296
- - test/util_test.rb
272
+ - test/unit/api/api_test.rb
273
+ - test/unit/api/payment_service_test.rb
274
+ - test/unit/api/recurring_service_test.rb
275
+ - test/unit/api/response_test.rb
276
+ - test/unit/api/simple_soap_client_test.rb
277
+ - test/unit/api/test_helper.rb
278
+ - test/unit/api/test_helpers_test.rb
279
+ - test/unit/form_test.rb
280
+ - test/unit/hpp/request_test.rb
281
+ - test/unit/hpp/signature_test.rb
282
+ - test/unit/hpp_test.rb
283
+ - test/unit/rest/signature_test.rb
284
+ - test/unit/rest_list_recurring_details_response_test.rb
285
+ - test/unit/rest_request_test.rb
286
+ - test/unit/rest_response_test.rb
287
+ - test/unit/signature_test.rb
288
+ - test/unit/util_test.rb
@@ -1,8 +0,0 @@
1
- # encoding: UTF-8
2
-
3
- require 'rspec'
4
- require 'adyen/matchers'
5
-
6
- RSpec.configure do |config|
7
- config.include Adyen::Matchers
8
- end