Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions lib/ebay.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@

require 'active_support'
require 'active_support/core_ext'
require 'active_support/time_with_zone'

Time.zone_default = Time.find_zone!('UTC')

# Include the additional XML::Mapping node types
require 'support/xml_mapping'
Expand Down
2 changes: 1 addition & 1 deletion lib/support/xml_mapping/date_time_node.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ def initialize_impl(path)
@path = XML::XXPath.new(path)
end
def extract_attr_value(xml) # :nodoc:
Time.parse(default_when_xpath_err{ @path.first(xml).text })
Time.zone.parse(default_when_xpath_err{ @path.first(xml).text })
end
def set_attr_value(xml, value) # :nodoc:
raise "Not a Time object: #{value}" unless value.is_a?(Time)
Expand Down
2 changes: 1 addition & 1 deletion lib/support/xml_mapping/time_node.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ def initialize_impl(path)
@path = XML::XXPath.new(path)
end
def extract_attr_value(xml) # :nodoc:
Time.parse(default_when_xpath_err{ @path.first(xml).text })
Time.zone.parse(default_when_xpath_err{ @path.first(xml).text })
end
def set_attr_value(xml, value) # :nodoc:
raise "Not a Time object: #{value}" unless value.is_a?(Time)
Expand Down
6 changes: 3 additions & 3 deletions test/unit/ebay_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ def test_header_uses_overridden_site_id

def test_override_auth_token
ebay = Api.new(:auth_token => 'OVERRIDE')
assert_equal 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', Api.auth_token
assert_equal 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA', Api.auth_token
assert_equal 'OVERRIDE', ebay.auth_token
end

Expand All @@ -79,14 +79,14 @@ def test_successful_request
Ebay::HttpMock.respond_with(@success)
response = @ebay.get_ebay_official_time
assert response.success?
assert_equal Time.parse('2006-07-05T14:23:03.399Z'), response.timestamp
assert_equal Time.zone.parse('2006-07-05T14:23:03.399Z'), response.timestamp
end

def test_request_with_block
Ebay::HttpMock.respond_with(@success)
response = @ebay.get_ebay_official_time{ }
assert response.success?
assert_equal Time.parse('2006-07-05T14:23:03.399Z'), response.timestamp
assert_equal Time.zone.parse('2006-07-05T14:23:03.399Z'), response.timestamp
end

def test_raise_on_error_with_errors
Expand Down
11 changes: 5 additions & 6 deletions test/unit/xml_mapping_date_time_node_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class Widget
end

class DateTimeNodeTest < Test::Unit::TestCase

def setup
@xml = <<-END
<Widget>
Expand All @@ -18,13 +18,13 @@ def setup

def test_load_from_xml
item = Widget.load_from_xml(REXML::Document.new(@xml).root)
assert_instance_of Time, item.shipped_on
assert_equal Time.parse('2006-07-21T21:52:37.000Z'), item.shipped_on
end
assert_instance_of ActiveSupport::TimeWithZone, item.shipped_on
assert_equal Time.zone.parse('2006-07-21T21:52:37.000Z'), item.shipped_on
end

def test_save_to_xml
widget = Widget.new
widget.shipped_on = Time.parse('2006-07-21T21:52:37.000Z')
widget.shipped_on = Time.zone.parse('2006-07-21T21:52:37.000Z')
assert_equal '<widget><ShippedOn>2006-07-21 21:52:37</ShippedOn></widget>', widget.save_to_xml.to_s
end

Expand All @@ -34,4 +34,3 @@ def test_set_with_non_time_object
assert_raise(RuntimeError){ widget.save_to_xml }
end
end

3 changes: 1 addition & 2 deletions test/unit/xml_mapping_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,9 @@ def assert_valid_abstract_response(response)
ack = 'Success'
version = '467'
build = 'e467_core_Bundled_3145691_R1'
assert_equal Time.parse(timestamp), response.timestamp
assert_equal Time.zone.parse(timestamp), response.timestamp
assert_equal ack, response.ack
assert_equal version, response.version
assert_equal build, response.build
end
end

9 changes: 4 additions & 5 deletions test/unit/xml_mapping_time_node_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ def setup

def test_load_from_xml
item = Widget.load_from_xml(REXML::Document.new(@xml).root)
assert_instance_of Time, item.opening_time
assert_equal Time.parse('T21:52:37.000Z'), item.opening_time
end
assert_instance_of ActiveSupport::TimeWithZone, item.opening_time
assert_equal Time.zone.parse('T21:52:37.000Z'), item.opening_time
end

def test_save_to_xml
widget = Widget.new
widget.opening_time = Time.parse('T21:52:37.000Z')
widget.opening_time = Time.zone.parse('T21:52:37.000Z')
assert_equal '<widget><OpeningTime>21:52:37</OpeningTime></widget>', widget.save_to_xml.to_s
end

Expand All @@ -34,4 +34,3 @@ def test_set_with_non_time_object
assert_raise(RuntimeError){ widget.save_to_xml }
end
end