Skip to content

Commit

Permalink
added current fedex WSDL; updated successful response fixture; tests …
Browse files Browse the repository at this point in the history
…are failing, the fedex parser needs to be updated to use the current v9 API - ref #11
  • Loading branch information
travishaynes committed Aug 21, 2014
1 parent 1f07d67 commit 6f34385
Show file tree
Hide file tree
Showing 7 changed files with 2,421 additions and 13 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,5 @@ measurement
coverage
doc
.ruby-gemset
.vagrant

1 change: 1 addition & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
--color

11 changes: 11 additions & 0 deletions Vagrantfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = 'hashicorp/precise64'
config.vm.network 'private_network', ip: '10.22.2.2'
end

19 changes: 7 additions & 12 deletions lib/trackerific/parsers/fedex.rb
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@ def summary
end

def events
track_details.map do |detail|
Trackerific::Event.new(parse_date(detail), nil, location(detail))
end
# FIXME: The API has changed, this needs to be updated
#track_details[:events].map do |event|
# Trackerific::Event.new(parse_date(detail), nil, location(detail))
#end
end

private
Expand All @@ -31,18 +32,11 @@ def parse_date(detail)
end

def track_reply
@response.hash[:envelope][:body][:track_reply]
@response.hash[:track_reply]
end

def track_details
@track_details ||= begin
details = track_reply[:completed_track_details][:track_details]
details.select do |d|
d[:ship_timestamp].present? && d[:destination_address].present? &&
d[:destination_address][:city].present? &&
d[:destination_address][:state_or_province_code].present?
end
end
@track_details ||= track_reply[:completed_track_details][:track_details]
end

def highest_severity
Expand All @@ -53,3 +47,4 @@ def notifications
track_reply[:notifications]
end
end

103 changes: 102 additions & 1 deletion spec/fixtures/fedex/success.xml
Original file line number Diff line number Diff line change
@@ -1 +1,102 @@
<SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/'><SOAP-ENV:Header/><SOAP-ENV:Body><TrackReply xmlns='http://fedex.com/ws/track/v8'><HighestSeverity>SUCCESS</HighestSeverity><Notifications><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notifications><TransactionDetail><CustomerTransactionId>d7200b02a2d97651</CustomerTransactionId></TransactionDetail><Version><ServiceId>trck</ServiceId><Major>8</Major><Intermediate>0</Intermediate><Minor>0</Minor></Version><CompletedTrackDetails><HighestSeverity>SUCCESS</HighestSeverity><DuplicateWaybill>true</DuplicateWaybill><MoreData>false</MoreData><TrackDetailsCount>0</TrackDetailsCount><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>22013~123456789012~FDEG</TrackingNumberUniqueIdentifier><CarrierCode>FDXG</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Ground</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456464000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-06-25T00:00:00</ShipTimestamp><DestinationAddress><City>new york</City><StateOrProvinceCode>NY</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456470000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-06-27T00:00:00</ShipTimestamp><DestinationAddress><City>Memphis</City><StateOrProvinceCode>TN</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456490000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-07-16T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456492000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-07-17T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456493000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-07-19T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456514000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-08-09T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456525000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-08-20T00:00:00</ShipTimestamp><DestinationAddress><City>CITY OF INDUSTRY</City><StateOrProvinceCode>CA</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456539000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-09-03T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456540000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-08-24T00:00:00</ShipTimestamp><DestinationAddress><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456560000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-10-10T00:00:00</ShipTimestamp><DestinationAddress><City>ST JACKSON</City><StateOrProvinceCode>MS</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails><TrackDetails><Notification><Severity>SUCCESS</Severity><Source>trck</Source><Code>0</Code><Message>Request was successfully processed.</Message><LocalizedMessage>Request was successfully processed.</LocalizedMessage></Notification><TrackingNumber>123456789012</TrackingNumber><TrackingNumberUniqueIdentifier>2456570000~123456789012~FX</TrackingNumberUniqueIdentifier><CarrierCode>FDXE</CarrierCode><OperatingCompanyOrCarrierDescription>FedEx Express</OperatingCompanyOrCarrierDescription><PackageSequenceNumber>0</PackageSequenceNumber><PackageCount>0</PackageCount><ShipTimestamp>2013-10-03T00:00:00</ShipTimestamp><DestinationAddress><City>Ontonagon</City><StateOrProvinceCode>MI</StateOrProvinceCode><CountryCode>US</CountryCode><CountryName>United States</CountryName><Residential>false</Residential></DestinationAddress><DeliveryAttempts>0</DeliveryAttempts><TotalUniqueAddressCountInConsolidation>0</TotalUniqueAddressCountInConsolidation></TrackDetails></CompletedTrackDetails></TrackReply></SOAP-ENV:Body></SOAP-ENV:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<q0:TrackReply xmlns:q0="http://fedex.com/ws/track/q0">
<q0:HighestSeverity>SUCCESS</q0:HighestSeverity>
<q0:Notifications>
<q0:Severity>SUCCESS</q0:Severity>
<q0:Source>trck</q0:Source>
<q0:Code>0</q0:Code>
<q0:Message>Request was successfully processed.</q0:Message>
<q0:LocalizedMessage>Request was successfullyprocessed.</q0:LocalizedMessage>
</q0:Notifications>
<q0:TransactionDetail>
<q0:CustomerTransactionId>Basic_TrackRequest_q0_Internal</q0:CustomerTransactionId>
<q0:Localization>
<q0:LanguageCode>EN</q0:LanguageCode>
<q0:LocaleCode>us</q0:LocaleCode>
</q0:Localization>
</q0:TransactionDetail>
<q0:Version>
<q0:ServiceId>trck</q0:ServiceId>
<q0:Major>7</q0:Major>
<q0:Intermediate>0</q0:Intermediate>
<q0:Minor>0</q0:Minor>
</q0:Version>
<q0:CompletedTrackDetails>
<q0:HighestSeverity>SUCCESS</q0:HighestSeverity>
<q0:Notifications>
<q0:Severity>SUCCESS</q0:Severity>
<q0:Source>trck</q0:Source>
<q0:Code>0</q0:Code>
<q0:Message>Request was successfully processed.</q0:Message>
<q0:LocalizedMessage>Request was successfullyprocessed.</q0:LocalizedMessage>
</q0:Notifications>
<q0:DuplicateWaybill>false</q0:DuplicateWaybill>
<q0:MoreData>false</q0:MoreData>
<q0:TrackDetails>
<q0:Notification>
<q0:Severity>SUCCESS</q0:Severity>
<q0:Source>trck</q0:Source>
<q0:Code>0</q0:Code>
<q0:Message>Request was successfully processed.</q0:Message>
<q0:LocalizedMessage>Request was successfullyprocessed.</q0:LocalizedMessage>
</q0:Notification>
<q0:TrackingNumber>797843158299</q0:TrackingNumber>
<q0:TrackingNumberUniqueIdentifier>2455910000</q0:TrackingNumberUniqueIdentifier>
<q0:StatusDetail>
<q0:Code>DL</q0:Code>
<q0:Description>Delivered</q0:Description>
<q0:Location>
<q0:Residential>false</q0:Residential>
</q0:Location>
</q0:StatusDetail>
<q0:CarrierCode>FDXE</q0:CarrierCode>
<q0:OperatingCompanyOrCarrierDescription>FedExExpress</q0:OperatingCompanyOrCarrierDescription>
<q0:OtherIdentifiers>
<q0:PackageIdentifier>
<q0:Type>SHIPPER_REFERENCE</q0:Type>
<q0:Value>0356649</q0:Value>
</q0:PackageIdentifier>
</q0:OtherIdentifiers>
<q0:Service>
<q0:Type>FEDEX_2_DAY</q0:Type>
<q0:Description>FedEx 2Day Service</q0:Description>
</q0:Service>
<q0:PackageSequenceNumber>0</q0:PackageSequenceNumber>
<q0:PackageCount>0</q0:PackageCount>
<q0:ShipTimestamp>2011-12-14T00:00:00</q0:ShipTimestamp>
<q0:DestinationAddress>
<q0:City>STAFFORD</q0:City>
<q0:StateOrProvinceCode>VA</q0:StateOrProvinceCode>
<q0:CountryCode>US</q0:CountryCode>
<q0:Residential>false</q0:Residential>
</q0:DestinationAddress>
<q0:ActualDeliveryTimestamp>2011-12-16T16:11:00</q0:ActualDeliveryTimestamp>
<q0:ActualDeliveryAddress>
<q0:City>STAFFORD</q0:City>
<q0:StateOrProvinceCode>VA</q0:StateOrProvinceCode>
<q0:CountryCode>US</q0:CountryCode>
<q0:Residential>false</q0:Residential>
</q0:ActualDeliveryAddress>
<q0:DeliveryAttempts>0</q0:DeliveryAttempts>
<q0:DeliverySignatureName>Signature not required</q0:DeliverySignatureName>
<q0:TotalUniqueAddressCountInConsolidation>0</q0:TotalUniqueAddressCountInConsolidation>
<q0:Signature />
<q0:RedirectToHoldEligibility>INELIGIBLE</q0:RedirectToHoldEligibility>
<q0:Events>
<q0:Timestamp>2011-12-16T16:11:00</q0:Timestamp>
<q0:EventType>DL</q0:EventType>
<q0:EventDescription>Delivered</q0:EventDescription>
<q0:StatusExceptionCode>02</q0:StatusExceptionCode>
<q0:StatusExceptionDescription>Package delivered to recipientaddress - release authorized</q0:StatusExceptionDescription>
<q0:Address>
<q0:City>STAFFORD</q0:City>
<q0:StateOrProvinceCode>VA</q0:StateOrProvinceCode>
<q0:PostalCode>22556</q0:PostalCode>
<q0:CountryCode>US</q0:CountryCode>
<q0:Residential>false</q0:Residential>
</q0:Address>
</q0:Events>
</q0:TrackDetails>
</q0:CompletedTrackDetails>
</q0:TrackReply>

5 changes: 5 additions & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,8 @@

# load all the support files
Dir["spec/support/**/*.rb"].each { |f| require File.expand_path(f) }

RSpec.configure do |config|
config.treat_symbols_as_metadata_keys_with_true_values = true
end

Loading

0 comments on commit 6f34385

Please sign in to comment.