active_fulfillment 3.2.3 → 3.2.4
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: c116080121697527325b266bda808c6acea1be1e
|
4
|
+
data.tar.gz: d49f7f6df9eeaaa9fad7d40a2cd2080f981be35f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3fbcca254fb6aca6b40371c6ab89a3bc9f07873bcfa61df02c64cc433c3243489f365e6d8a33842576557de1bf8dddfbb573f06268f662751065ff011294801a
|
7
|
+
data.tar.gz: 3f71ad76b4776338811db3787c7e14f8864534662eb9bb2452f8d380fa427a8ad44eb2248328653f75a9acbd010c087b49fe97d19d4ac068c19103fb121d64f4
|
data/lib/active_fulfillment.rb
CHANGED
@@ -26,6 +26,7 @@ require 'active_support/core_ext/time/calculations'
|
|
26
26
|
require 'active_support/core_ext/date/calculations'
|
27
27
|
require 'active_support/core_ext/numeric/time'
|
28
28
|
require 'active_support/core_ext/enumerable'
|
29
|
+
require 'active_support/core_ext/string'
|
29
30
|
begin
|
30
31
|
require 'active_support/core_ext/time/acts_like'
|
31
32
|
rescue LoadError
|
@@ -6,6 +6,8 @@ module ActiveFulfillment
|
|
6
6
|
|
7
7
|
OrderIdCutoffDate = Date.iso8601('2015-03-01').freeze
|
8
8
|
|
9
|
+
MAX_LOGGED_RESPONSE_LENGTH = 70
|
10
|
+
|
9
11
|
RESCUABLE_CONNECTION_ERRORS = [
|
10
12
|
Net::ReadTimeout,
|
11
13
|
Net::OpenTimeout,
|
@@ -86,11 +88,20 @@ module ActiveFulfillment
|
|
86
88
|
end
|
87
89
|
end
|
88
90
|
|
89
|
-
|
90
|
-
|
91
|
+
log_response(action, realtime, response)
|
91
92
|
response
|
92
93
|
end
|
93
94
|
|
95
|
+
def log_response(action, realtime, response)
|
96
|
+
truncated = response.to_s.truncate(
|
97
|
+
MAX_LOGGED_RESPONSE_LENGTH,
|
98
|
+
omission: '[response truncated]'
|
99
|
+
)
|
100
|
+
|
101
|
+
log :info, "GET response action=#{action} in " \
|
102
|
+
"#{format('%.4fs', realtime)} #{truncated}"
|
103
|
+
end
|
104
|
+
|
94
105
|
def parse_json(json_data, root)
|
95
106
|
response_data = ActiveSupport::JSON.decode(json_data)
|
96
107
|
return {} unless response_data.is_a?(Hash)
|
@@ -107,8 +107,46 @@ class ShopifyAPITest < Minitest::Test
|
|
107
107
|
refute @service.fetch_stock_levels.success?
|
108
108
|
end
|
109
109
|
|
110
|
+
def test_fetch_tracking_data_logs_the_response
|
111
|
+
response = 'some response'
|
112
|
+
@service.expects(:ssl_get).returns(response)
|
113
|
+
|
114
|
+
expected = ".* GET response action=fetch_tracking_numbers in .* #{response}"
|
115
|
+
|
116
|
+
assert_log(:info, expected) do
|
117
|
+
@service.fetch_tracking_data([1, 2])
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
def test_fetch_tracking_data_logs_the_truncated_response
|
122
|
+
response = 'some response. ' * 144
|
123
|
+
@service.expects(:ssl_get).returns(response)
|
124
|
+
|
125
|
+
expected = '.* GET response action=fetch_tracking_numbers in .* ' \
|
126
|
+
'some response. some response. some response. some ' \
|
127
|
+
'\[response truncated\]'
|
128
|
+
|
129
|
+
assert_log(:info, expected) do
|
130
|
+
@service.fetch_tracking_data([1, 2])
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
110
134
|
private
|
111
135
|
|
136
|
+
def assert_log(level, expected)
|
137
|
+
r = Regexp.new(expected)
|
138
|
+
|
139
|
+
matches = false
|
140
|
+
@service.class.logger.expects(level).with do |message|
|
141
|
+
matches ||= r.match(message).present?
|
142
|
+
true
|
143
|
+
end.at_least_once
|
144
|
+
|
145
|
+
yield
|
146
|
+
ensure
|
147
|
+
assert matches, "Log didn't match #{r}"
|
148
|
+
end
|
149
|
+
|
112
150
|
def mock_app_request(action, input, output)
|
113
151
|
ActiveFulfillment::ShopifyAPIService.any_instance.expects(:send_app_request).with(action, nil, input).returns(output)
|
114
152
|
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.2.
|
4
|
+
version: 3.2.4
|
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: 2018-
|
12
|
+
date: 2018-04-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
@@ -17,7 +17,7 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 4.2.0
|
21
21
|
- - "<"
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: '6.0'
|
@@ -27,7 +27,7 @@ dependencies:
|
|
27
27
|
requirements:
|
28
28
|
- - ">="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version:
|
30
|
+
version: 4.2.0
|
31
31
|
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '6.0'
|
@@ -183,9 +183,9 @@ require_paths:
|
|
183
183
|
- lib
|
184
184
|
required_ruby_version: !ruby/object:Gem::Requirement
|
185
185
|
requirements:
|
186
|
-
- - "
|
186
|
+
- - "~>"
|
187
187
|
- !ruby/object:Gem::Version
|
188
|
-
version: '
|
188
|
+
version: '2.2'
|
189
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
190
190
|
requirements:
|
191
191
|
- - ">="
|