Skip to content

Commit 89d9396

Browse files
authored
Merge pull request #128 from Justintime50/fix-smartrate
fix: strips the result key from smartrate
2 parents 13d5aa7 + eb0c64a commit 89d9396

File tree

3 files changed

+73
-71
lines changed

3 files changed

+73
-71
lines changed

easypost/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,7 @@ def get_smartrates(self):
740740
url = "%s/%s" % (self.instance_url(), "smartrate")
741741

742742
response, api_key = requestor.request('get', url)
743-
return response
743+
return response.get('result', [])
744744

745745
def buy(self, **params):
746746
requestor = Requestor(self._api_key)

tests/cassettes/test_smartrate.yaml

Lines changed: 64 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -23,34 +23,34 @@ interactions:
2323
response:
2424
body:
2525
string: !!binary |
26-
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
5454
headers:
5555
cache-control:
5656
- no-cache, no-store
@@ -59,11 +59,11 @@ interactions:
5959
content-type:
6060
- application/json; charset=utf-8
6161
etag:
62-
- W/"28c58340b2309b33c41b1d1589ed8a29"
62+
- W/"ca9032fdae03378fa979da66a16e21fc"
6363
expires:
6464
- '0'
6565
location:
66-
- /api/v2/shipments/shp_ed274116073f4dd8a97cc02a1c20d3e5
66+
- /api/v2/shipments/shp_3a080bfa460848fab9f0abacecfd0af4
6767
pragma:
6868
- no-cache
6969
referrer-policy:
@@ -79,22 +79,22 @@ interactions:
7979
x-download-options:
8080
- noopen
8181
x-ep-request-uuid:
82-
- 6396224460a2ef63e788e1440022ae60
82+
- 301bf52860ba789be7873c5c001c5140
8383
x-frame-options:
8484
- SAMEORIGIN
8585
x-node:
8686
- bigweb3nuq
8787
x-permitted-cross-domain-policies:
8888
- none
8989
x-proxied:
90-
- intlb1nuq 7ba176609e
91-
- extlb1nuq 7ba176609e
90+
- intlb2nuq 15c8815ace
91+
- extlb2nuq 15c8815ace
9292
x-request-id:
93-
- fec61f6b-9729-4d94-9318-7d490a357504
93+
- e4281d94-7e13-4e9f-ba77-135682dceae6
9494
x-runtime:
95-
- '1.229500'
95+
- '1.409997'
9696
x-version-label:
97-
- easypost-202105172007-9b7dfa0a52-master
97+
- easypost-202106031829-2d7fd21737-master
9898
x-xss-protection:
9999
- 1; mode=block
100100
status:
@@ -118,27 +118,27 @@ interactions:
118118
x-client-user-agent:
119119
- suppressed
120120
method: GET
121-
uri: https://api.easypost.com/v2/shipments/shp_ed274116073f4dd8a97cc02a1c20d3e5/smartrate
121+
uri: https://api.easypost.com/v2/shipments/shp_3a080bfa460848fab9f0abacecfd0af4/smartrate
122122
response:
123123
body:
124124
string: !!binary |
125-
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
142142
headers:
143143
cache-control:
144144
- no-cache, no-store
@@ -147,7 +147,7 @@ interactions:
147147
content-type:
148148
- application/json; charset=utf-8
149149
etag:
150-
- W/"6b6de9556b760834ec199eca44cadfdf"
150+
- W/"41febe7fad6e20e66658b2f6eef82e53"
151151
expires:
152152
- '0'
153153
pragma:
@@ -160,27 +160,29 @@ interactions:
160160
- chunked
161161
x-backend:
162162
- easypost
163+
x-canary:
164+
- direct
163165
x-content-type-options:
164166
- nosniff
165167
x-download-options:
166168
- noopen
167169
x-ep-request-uuid:
168-
- 6396224460a2ef65e788e1440022aefe
170+
- 301bf52860ba789ce7873c5c001c51e8
169171
x-frame-options:
170172
- SAMEORIGIN
171173
x-node:
172-
- bigweb1nuq
174+
- bigweb7nuq
173175
x-permitted-cross-domain-policies:
174176
- none
175177
x-proxied:
176-
- intlb2nuq 7ba176609e
177-
- extlb1nuq 7ba176609e
178+
- intlb2nuq 15c8815ace
179+
- extlb2nuq 15c8815ace
178180
x-request-id:
179-
- d7be0689-1a6b-46df-a172-633ede2f6753
181+
- e05fdf7f-da9d-400a-a60d-3155f5ed1ac0
180182
x-runtime:
181-
- '0.095311'
183+
- '0.097927'
182184
x-version-label:
183-
- easypost-202105172007-9b7dfa0a52-master
185+
- easypost-202106031829-2d7fd21737-master
184186
x-xss-protection:
185187
- 1; mode=block
186188
status:

tests/test_shipment.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,11 @@ def test_smartrate(vcr):
221221
assert shipment.rates
222222

223223
smartrates = shipment.get_smartrates()
224-
assert shipment.rates[0]['id'] == smartrates['result'][0]['id']
225-
assert smartrates['result'][0]['time_in_transit']['percentile_50'] == 1
226-
assert smartrates['result'][0]['time_in_transit']['percentile_75'] == 2
227-
assert smartrates['result'][0]['time_in_transit']['percentile_85'] == 2
228-
assert smartrates['result'][0]['time_in_transit']['percentile_90'] == 3
229-
assert smartrates['result'][0]['time_in_transit']['percentile_95'] == 3
230-
assert smartrates['result'][0]['time_in_transit']['percentile_97'] == 4
231-
assert smartrates['result'][0]['time_in_transit']['percentile_99'] == 5
224+
assert shipment.rates[0]['id'] == smartrates[0]['id']
225+
assert smartrates[0]['time_in_transit']['percentile_50'] == 1
226+
assert smartrates[0]['time_in_transit']['percentile_75'] == 2
227+
assert smartrates[0]['time_in_transit']['percentile_85'] == 3
228+
assert smartrates[0]['time_in_transit']['percentile_90'] == 3
229+
assert smartrates[0]['time_in_transit']['percentile_95'] == 3
230+
assert smartrates[0]['time_in_transit']['percentile_97'] == 4
231+
assert smartrates[0]['time_in_transit']['percentile_99'] == 5

0 commit comments

Comments
 (0)