Skip to content

Commit 577b5d5

Browse files
authored
Merge pull request #124 from Justintime50/fix-smartrate
fix: stops appending smartrates to Shipment object
2 parents 0402070 + e9d66f0 commit 577b5d5

File tree

3 files changed

+67
-70
lines changed

3 files changed

+67
-70
lines changed

easypost/__init__.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -733,8 +733,7 @@ def get_smartrates(self):
733733
url = "%s/%s" % (self.instance_url(), "smartrate")
734734

735735
response, api_key = requestor.request('get', url)
736-
self.refresh_from(response, api_key)
737-
return self
736+
return response
738737

739738
def buy(self, **params):
740739
requestor = Requestor(self._api_key)

tests/cassettes/test_smartrate.yaml

+61-63
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/"1541d88e28c3e5183353ef0e5952b194"
62+
- W/"28c58340b2309b33c41b1d1589ed8a29"
6363
expires:
6464
- '0'
6565
location:
66-
- /api/v2/shipments/shp_b5c0915745af42f68daf8416dbadc378
66+
- /api/v2/shipments/shp_ed274116073f4dd8a97cc02a1c20d3e5
6767
pragma:
6868
- no-cache
6969
referrer-policy:
@@ -74,29 +74,27 @@ interactions:
7474
- chunked
7575
x-backend:
7676
- easypost
77-
x-canary:
78-
- direct
7977
x-content-type-options:
8078
- nosniff
8179
x-download-options:
8280
- noopen
8381
x-ep-request-uuid:
84-
- b12f390860999f9fe789f99e000458cf
82+
- 6396224460a2ef63e788e1440022ae60
8583
x-frame-options:
8684
- SAMEORIGIN
8785
x-node:
88-
- bigweb7nuq
86+
- bigweb3nuq
8987
x-permitted-cross-domain-policies:
9088
- none
9189
x-proxied:
92-
- intlb2nuq 7ba176609e
90+
- intlb1nuq 7ba176609e
9391
- extlb1nuq 7ba176609e
9492
x-request-id:
95-
- 174696e5-4098-4c44-b1ea-65a8cec50451
93+
- fec61f6b-9729-4d94-9318-7d490a357504
9694
x-runtime:
97-
- '1.304631'
95+
- '1.229500'
9896
x-version-label:
99-
- easypost-202105102029-6e7a60b19a-master
97+
- easypost-202105172007-9b7dfa0a52-master
10098
x-xss-protection:
10199
- 1; mode=block
102100
status:
@@ -120,27 +118,27 @@ interactions:
120118
x-client-user-agent:
121119
- suppressed
122120
method: GET
123-
uri: https://api.easypost.com/v2/shipments/shp_b5c0915745af42f68daf8416dbadc378/smartrate
121+
uri: https://api.easypost.com/v2/shipments/shp_ed274116073f4dd8a97cc02a1c20d3e5/smartrate
124122
response:
125123
body:
126124
string: !!binary |
127-
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
144142
headers:
145143
cache-control:
146144
- no-cache, no-store
@@ -149,7 +147,7 @@ interactions:
149147
content-type:
150148
- application/json; charset=utf-8
151149
etag:
152-
- W/"f858b3a97b81e649b56017ad96b408b9"
150+
- W/"6b6de9556b760834ec199eca44cadfdf"
153151
expires:
154152
- '0'
155153
pragma:
@@ -167,22 +165,22 @@ interactions:
167165
x-download-options:
168166
- noopen
169167
x-ep-request-uuid:
170-
- b12f390860999fa0e789f99e00045946
168+
- 6396224460a2ef65e788e1440022aefe
171169
x-frame-options:
172170
- SAMEORIGIN
173171
x-node:
174-
- bigweb2nuq
172+
- bigweb1nuq
175173
x-permitted-cross-domain-policies:
176174
- none
177175
x-proxied:
178-
- intlb1nuq 7ba176609e
176+
- intlb2nuq 7ba176609e
179177
- extlb1nuq 7ba176609e
180178
x-request-id:
181-
- c6f83f52-f7f2-40bd-a54f-92269ab0a987
179+
- d7be0689-1a6b-46df-a172-633ede2f6753
182180
x-runtime:
183-
- '0.082920'
181+
- '0.095311'
184182
x-version-label:
185-
- easypost-202105102029-6e7a60b19a-master
183+
- easypost-202105172007-9b7dfa0a52-master
186184
x-xss-protection:
187185
- 1; mode=block
188186
status:

tests/test_shipment.py

+5-5
Original file line numberDiff line numberDiff line change
@@ -216,10 +216,10 @@ def test_smartrate(vcr):
216216

217217
smartrates = shipment.get_smartrates()
218218
assert shipment.rates[0]['id'] == smartrates['result'][0]['id']
219-
assert smartrates['result'][0]['time_in_transit']['percentile_50'] == 2
219+
assert smartrates['result'][0]['time_in_transit']['percentile_50'] == 1
220220
assert smartrates['result'][0]['time_in_transit']['percentile_75'] == 2
221-
assert smartrates['result'][0]['time_in_transit']['percentile_85'] == 3
221+
assert smartrates['result'][0]['time_in_transit']['percentile_85'] == 2
222222
assert smartrates['result'][0]['time_in_transit']['percentile_90'] == 3
223-
assert smartrates['result'][0]['time_in_transit']['percentile_95'] == 4
224-
assert smartrates['result'][0]['time_in_transit']['percentile_97'] == 5
225-
assert smartrates['result'][0]['time_in_transit']['percentile_99'] == 7
223+
assert smartrates['result'][0]['time_in_transit']['percentile_95'] == 3
224+
assert smartrates['result'][0]['time_in_transit']['percentile_97'] == 4
225+
assert smartrates['result'][0]['time_in_transit']['percentile_99'] == 5

0 commit comments

Comments
 (0)