active_fulfillment 3.0.0.pre4 → 3.0.0.pre5
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec1ce2a917a90a5c9fcd77faa2cf28603fae713a
|
4
|
+
data.tar.gz: 4b4cfa6be54fe07ec5d3bcd87b7c3b6057260103
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a1baba64efc3e9a507a41a8c14853684366ecb1076e4588756758f6d3fdca89b725614c012a15d15b60c453d9b7cceecde03585bfea28957437db8ee2411a8cf
|
7
|
+
data.tar.gz: 3c17fc456c50f3a887ac3a16c008c80d3983021eba2e877b2f848c69e7f0363d6f3343f156fd04340d927dd9c97bb101dac8be4db1d1c079f340fce49fc4bf6d
|
@@ -184,11 +184,13 @@ module ActiveFulfillment
|
|
184
184
|
uri = URI.parse("https://#{endpoint}/#{ACTIONS[service]}/#{VERSION}")
|
185
185
|
query = build_full_query(verb, uri, params)
|
186
186
|
headers = build_headers(query)
|
187
|
+
log_query = query
|
188
|
+
[@options[:login], @options[:app_id], @mws_auth_token].each { |key| log_query.gsub!(/#{key}/, '[filtered]') if key.present? }
|
187
189
|
|
190
|
+
logger.info "[#{self.class}][#{op.to_s}] query=#{log_query}"
|
188
191
|
data = ssl_post(uri.to_s, query, headers)
|
189
|
-
|
190
|
-
|
191
|
-
end
|
192
|
+
logger.info "[#{self.class}][#{op.to_s}] response=#{data}"
|
193
|
+
|
192
194
|
response = parse_response(service, op, data)
|
193
195
|
Response.new(success?(response), message_from(response), response)
|
194
196
|
rescue ActiveUtils::ResponseError => e
|
@@ -196,6 +198,7 @@ module ActiveFulfillment
|
|
196
198
|
end
|
197
199
|
|
198
200
|
def handle_error(e)
|
201
|
+
logger.info "[#{self.class}][ResponseError] response=#{e.response.try(:body)}, message=#{e.message}"
|
199
202
|
response = parse_error(e.response)
|
200
203
|
if response.fetch(:faultstring, "").match(/^Requested order \'.+\' not found$/)
|
201
204
|
Response.new(true, nil, {:status => SUCCESS, :tracking_numbers => {}, :tracking_companies => {}, :tracking_urls => {}})
|
@@ -5,8 +5,8 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
5
5
|
|
6
6
|
def setup
|
7
7
|
@service = ActiveFulfillment::AmazonMarketplaceWebService.new(
|
8
|
-
:login => '
|
9
|
-
:password => '
|
8
|
+
:login => 'login',
|
9
|
+
:password => 'password'
|
10
10
|
)
|
11
11
|
|
12
12
|
@options = {
|
@@ -87,7 +87,7 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
87
87
|
expected_keys = ["AWSAccessKeyId", "Action", "FeedType", "Merchant", "SignatureMethod", "SignatureVersion", "Timestamp", "Version"]
|
88
88
|
opts = @service.build_basic_api_query(options)
|
89
89
|
assert_equal expected_keys.sort, opts.keys.map(&:to_s).sort
|
90
|
-
assert_equal "
|
90
|
+
assert_equal "login", opts["AWSAccessKeyId"]
|
91
91
|
assert_equal ActiveFulfillment::AmazonMarketplaceWebService::SIGNATURE_VERSION, opts["SignatureVersion"]
|
92
92
|
assert_equal "Hmac#{ActiveFulfillment::AmazonMarketplaceWebService::SIGNATURE_METHOD}", opts["SignatureMethod"]
|
93
93
|
assert_equal ActiveFulfillment::AmazonMarketplaceWebService::VERSION, opts["Version"]
|
@@ -279,10 +279,10 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
279
279
|
@service.expects(:ssl_post).returns(xml_fixture('amazon_mws/inventory_list_inventory_supply'))
|
280
280
|
|
281
281
|
@service.class.logger.expects(:info).with do |message|
|
282
|
-
assert_match /
|
283
|
-
assert /
|
284
|
-
assert /
|
285
|
-
end
|
282
|
+
assert_match /ListInventorySupply/, message unless message.include?('ListInventorySupplyResult')
|
283
|
+
assert /@service[:login]/ !~ message
|
284
|
+
assert /@service[:password]/ !~ message
|
285
|
+
end.twice
|
286
286
|
|
287
287
|
response = @service.fetch_stock_levels
|
288
288
|
assert response.success?
|
@@ -412,6 +412,25 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
412
412
|
assert_equal 'Something has gone terribly wrong!', response.faultstring
|
413
413
|
end
|
414
414
|
|
415
|
+
def test_fetch_tracking_numbers_400
|
416
|
+
response = mock('response')
|
417
|
+
response.stubs(:code).returns(400)
|
418
|
+
response.stubs(:message).returns("Error fetching tracking")
|
419
|
+
response.stubs(:body).returns(xml_fixture('amazon_mws/tracking_response_error'))
|
420
|
+
|
421
|
+
@service.expects(:ssl_post).raises(ActiveUtils::ResponseError.new(response))
|
422
|
+
|
423
|
+
@service.class.logger.expects(:info).with do |message|
|
424
|
+
assert_match /Something has gone terribly wrong/, message unless message.include?('GetFulfillmentOrder')
|
425
|
+
assert /@service[:login]/ !~ message
|
426
|
+
assert /@service[:password]/ !~ message
|
427
|
+
end.twice
|
428
|
+
|
429
|
+
response = @service.fetch_tracking_data(['extern_id_1154539615776'])
|
430
|
+
assert !response.success?
|
431
|
+
assert_equal 'Something has gone terribly wrong!', response.faultstring
|
432
|
+
end
|
433
|
+
|
415
434
|
def test_404_error
|
416
435
|
http_response = build_mock_response(response_from_404, "Not Found", "404")
|
417
436
|
@service.expects(:ssl_post).raises(ActiveUtils::ResponseError.new(http_response))
|
@@ -440,7 +459,7 @@ class AmazonMarketplaceWebServiceTest < Minitest::Test
|
|
440
459
|
|
441
460
|
private
|
442
461
|
def build_mock_response(response, message, code = "200")
|
443
|
-
http_response =
|
462
|
+
http_response = stub(:code => code, :message => message)
|
444
463
|
http_response.stubs(:body).returns(response)
|
445
464
|
http_response
|
446
465
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_fulfillment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.0.
|
4
|
+
version: 3.0.0.pre5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cody Fauser
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-
|
12
|
+
date: 2015-11-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|