google4r-checkout 1.1.0 → 1.1.1

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/CHANGES CHANGED
@@ -1,5 +1,11 @@
1
1
  =google4r-checkout Changelog
2
2
 
3
+ == 1.1.1 (2011-12-16)
4
+
5
+ * Bug fix for subscriptions not being processed, contributed by Larry Salibra
6
+ * Automated testing with Travis
7
+ * Officially support JRuby
8
+
3
9
  == 1.1.0 (2011-06-29)
4
10
 
5
11
  * Support for newer refund-notification XML format, contributed by Chris Parrish
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # google4r/checkout
1
+ # google4r/checkout [![Build Status](https://secure.travis-ci.org/nbudin/google4r-checkout.png)](http://travis-ci.org/nbudin/google4r-checkout)
2
2
 
3
3
  google4r/checkout is a library to access the Google Checkout API.
4
4
 
@@ -328,6 +328,11 @@ module Google4R #:nodoc:
328
328
  result.create_digital_content(DigitalContent.create_from_element(digital_content_element))
329
329
  end
330
330
 
331
+ subscription_element = element.elements['subscription']
332
+ if not subscription_element.nil?
333
+ result.create_subscription(Subscription.create_from_element(subscription_element))
334
+ end
335
+
331
336
  return result
332
337
  end
333
338
 
@@ -479,11 +484,11 @@ module Google4R #:nodoc:
479
484
  result.start_date = Time.iso8601(element.attributes['start-date']) rescue nil
480
485
  result.type = element.attributes['type'] rescue nil
481
486
 
482
- element.elements['payments/subscription-payment'].each do |payment_element|
483
- result.payments << SubscriptionPayment.create_from_element(subscription, payment_element)
487
+ element.elements.each('payments/subscription-payment') do |payment_element|
488
+ result.payments << SubscriptionPayment.create_from_element(result, payment_element)
484
489
  end
485
490
 
486
- element.elements['recurrent-item'].each do |item_element|
491
+ element.elements.each('recurrent-item') do |item_element|
487
492
  result.recurrent_items << Item.create_from_element(item_element)
488
493
  end
489
494
 
@@ -521,7 +526,7 @@ module Google4R #:nodoc:
521
526
  end
522
527
 
523
528
  def self.create_from_element(subscription, element)
524
- result = SubscriptionPayment.new
529
+ result = SubscriptionPayment.new(subscription)
525
530
  result.subscription = subscription
526
531
  result.times = element.attributes['times'].to_i rescue nil
527
532
 
@@ -56,7 +56,15 @@ class Google4R::Checkout::CommandTest < Test::Unit::TestCase
56
56
  def test_sending_fails_if_certificate_validation_fails
57
57
  OpenSSL::SSL::SSLSocket.any_instance.stubs(:connect).raises(OpenSSL::SSL::SSLError, 'certificate verify failed')
58
58
 
59
- assert_raises(OpenSSL::SSL::SSLError) { @command.send_to_google_checkout }
59
+ exc_type = case RUBY_PLATFORM
60
+ when "java"
61
+ # jruby-openssl throws an EOFError instead, for some reason
62
+ EOFError
63
+ else
64
+ OpenSSL::SSL::SSLError
65
+ end
66
+
67
+ assert_raise(exc_type) { @command.send_to_google_checkout }
60
68
  end
61
69
 
62
70
  def test_instantiate_abstract_class
@@ -52,16 +52,14 @@ class Google4R::Checkout::NotificationAcknowledgementTest < Test::Unit::TestCase
52
52
  end
53
53
 
54
54
  def test_to_xml_works_as_expected
55
- ack = NotificationAcknowledgement.new
56
- str = %q{<?xml version='1.0' encoding='UTF-8'?><notification-acknowledgment xmlns='http://checkout.google.com/schema/2'/>}
57
- assert_equal str, ack.to_xml
55
+ ack = Nokogiri.parse(NotificationAcknowledgement.new.to_xml).css('notification-acknowledgment').first
56
+ assert_equal "http://checkout.google.com/schema/2", ack.namespace.href
58
57
  end
59
58
 
60
59
  def test_to_xml_with_serial_number
61
60
  root = REXML::Document.new(@example_xml).root
62
61
  notification = ChargebackAmountNotification.create_from_element(root, @frontend)
63
- ack = NotificationAcknowledgement.new(notification)
64
- str = %q{<?xml version='1.0' encoding='UTF-8'?><notification-acknowledgment serial-number='bea6bc1b-e1e2-44fe-80ff-0180e33a2614' xmlns='http://checkout.google.com/schema/2'/>}
65
- assert_equal str, ack.to_xml
62
+ ack = Nokogiri.parse(NotificationAcknowledgement.new(notification).to_xml).css('notification-acknowledgment').first
63
+ assert_equal "bea6bc1b-e1e2-44fe-80ff-0180e33a2614", ack.attr('serial-number')
66
64
  end
67
65
  end
metadata CHANGED
@@ -1,15 +1,10 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: google4r-checkout
3
- version: !ruby/object:Gem::Version
4
- hash: 19
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.1.1
5
5
  prerelease:
6
- segments:
7
- - 1
8
- - 1
9
- - 0
10
- version: 1.1.0
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Tony Chan
14
9
  - Dan Dukeson
15
10
  - Nat Budin
@@ -17,68 +12,67 @@ authors:
17
12
  - Daniel Higham
18
13
  - Johnathan Niziol
19
14
  - Chris Parrish
15
+ - Larry Salibra
20
16
  autorequire:
21
17
  bindir: bin
22
18
  cert_chain: []
23
-
24
- date: 2011-06-29 00:00:00 -04:00
25
- default_executable:
26
- dependencies:
27
- - !ruby/object:Gem::Dependency
19
+ date: 2011-12-16 00:00:00.000000000 Z
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
28
22
  name: money
29
- prerelease: false
30
- requirement: &id001 !ruby/object:Gem::Requirement
23
+ requirement: &70330930056060 !ruby/object:Gem::Requirement
31
24
  none: false
32
- requirements:
33
- - - ">="
34
- - !ruby/object:Gem::Version
35
- hash: 3
36
- segments:
37
- - 2
38
- - 3
39
- - 0
25
+ requirements:
26
+ - - ! '>='
27
+ - !ruby/object:Gem::Version
40
28
  version: 2.3.0
41
29
  type: :runtime
42
- version_requirements: *id001
43
- - !ruby/object:Gem::Dependency
44
- name: mocha
45
30
  prerelease: false
46
- requirement: &id002 !ruby/object:Gem::Requirement
31
+ version_requirements: *70330930056060
32
+ - !ruby/object:Gem::Dependency
33
+ name: mocha
34
+ requirement: &70330930055680 !ruby/object:Gem::Requirement
47
35
  none: false
48
- requirements:
49
- - - ">="
50
- - !ruby/object:Gem::Version
51
- hash: 3
52
- segments:
53
- - 0
54
- version: "0"
36
+ requirements:
37
+ - - ! '>='
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
55
40
  type: :development
56
- version_requirements: *id002
57
- - !ruby/object:Gem::Dependency
41
+ prerelease: false
42
+ version_requirements: *70330930055680
43
+ - !ruby/object:Gem::Dependency
58
44
  name: nokogiri
45
+ requirement: &70330930055080 !ruby/object:Gem::Requirement
46
+ none: false
47
+ requirements:
48
+ - - ! '>='
49
+ - !ruby/object:Gem::Version
50
+ version: '0'
51
+ type: :development
59
52
  prerelease: false
60
- requirement: &id003 !ruby/object:Gem::Requirement
53
+ version_requirements: *70330930055080
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
56
+ requirement: &70330930054460 !ruby/object:Gem::Requirement
61
57
  none: false
62
- requirements:
63
- - - ">="
64
- - !ruby/object:Gem::Version
65
- hash: 3
66
- segments:
67
- - 0
68
- version: "0"
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
69
62
  type: :development
70
- version_requirements: *id003
71
- description: " google4r-checkout is a lightweight, framework-agnostic Ruby library to access the Google Checkout service and implement \n notification handlers. It exposes object-oriented wrappers for all of Google Checkout's API commands and notifications.\n"
63
+ prerelease: false
64
+ version_requirements: *70330930054460
65
+ description: ! " google4r-checkout is a lightweight, framework-agnostic Ruby library
66
+ to access the Google Checkout service and implement \n notification handlers. It
67
+ exposes object-oriented wrappers for all of Google Checkout's API commands and notifications.\n"
72
68
  email: natbudin@gmail.com
73
69
  executables: []
74
-
75
70
  extensions: []
76
-
77
- extra_rdoc_files:
71
+ extra_rdoc_files:
78
72
  - README.md
79
73
  - LICENSE
80
74
  - CHANGES
81
- files:
75
+ files:
82
76
  - lib/google4r/checkout/commands.rb
83
77
  - lib/google4r/checkout/frontend.rb
84
78
  - lib/google4r/checkout/merchant_calculation.rb
@@ -153,47 +147,34 @@ files:
153
147
  - test/unit/us_zip_area_test.rb
154
148
  - test/unit/world_area_test.rb
155
149
  - test/test_helper.rb
156
- - test/frontend_configuration_example.rb
157
150
  - README.md
158
151
  - LICENSE
159
152
  - CHANGES
160
- has_rdoc: true
161
153
  homepage: http://github.com/nbudin/google4r-checkout
162
154
  licenses: []
163
-
164
155
  post_install_message:
165
156
  rdoc_options: []
166
-
167
- require_paths:
157
+ require_paths:
168
158
  - lib
169
- required_ruby_version: !ruby/object:Gem::Requirement
159
+ required_ruby_version: !ruby/object:Gem::Requirement
170
160
  none: false
171
- requirements:
172
- - - ">="
173
- - !ruby/object:Gem::Version
174
- hash: 63
175
- segments:
176
- - 1
177
- - 8
178
- - 4
161
+ requirements:
162
+ - - ! '>='
163
+ - !ruby/object:Gem::Version
179
164
  version: 1.8.4
180
- required_rubygems_version: !ruby/object:Gem::Requirement
165
+ required_rubygems_version: !ruby/object:Gem::Requirement
181
166
  none: false
182
- requirements:
183
- - - ">="
184
- - !ruby/object:Gem::Version
185
- hash: 3
186
- segments:
187
- - 0
188
- version: "0"
167
+ requirements:
168
+ - - ! '>='
169
+ - !ruby/object:Gem::Version
170
+ version: '0'
189
171
  requirements: []
190
-
191
172
  rubyforge_project:
192
- rubygems_version: 1.5.0
173
+ rubygems_version: 1.8.12
193
174
  signing_key:
194
175
  specification_version: 3
195
176
  summary: Full-featured Google Checkout library for Ruby
196
- test_files:
177
+ test_files:
197
178
  - test/integration/checkout_command_test.rb
198
179
  - test/unit/add_merchant_order_number_command_test.rb
199
180
  - test/unit/add_tracking_data_command_test.rb
@@ -259,4 +240,4 @@ test_files:
259
240
  - test/unit/us_zip_area_test.rb
260
241
  - test/unit/world_area_test.rb
261
242
  - test/test_helper.rb
262
- - test/frontend_configuration_example.rb
243
+ has_rdoc:
@@ -1,13 +0,0 @@
1
- # Uncomment the following line if you are using Google Checkout in Great Britain
2
- # and adjust it if you want to test google4r-checkout against any other (future)
3
- # Google Checkout service.
4
-
5
- # Money.default_currency = 'GBP'
6
-
7
- # The test configuration for the Google4R::Checkout::Frontend class.
8
- FRONTEND_CONFIGURATION =
9
- {
10
- :merchant_id => '',
11
- :merchant_key => '',
12
- :use_sandbox => true
13
- }