Skip to content

Commit 6046a50

Browse files
committed
feat: add verify_carrier to create_and_verify also
1 parent 151f7d3 commit 6046a50

File tree

3 files changed

+99
-2
lines changed

3 files changed

+99
-2
lines changed

easypost/services/address_service.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,13 @@ def retrieve(self, id) -> Address:
5151
"""Retrieve an Address."""
5252
return self._retrieve_resource(self._model_class, id)
5353

54-
def create_and_verify(self, **params) -> Address:
54+
def create_and_verify(self, verify_carrier: Optional[str] = None, **params) -> Address:
5555
"""Create and verify an Address in one call."""
5656
url = f"{self._class_url('address')}/create_and_verify"
57-
wrapped_params = {self._snakecase_name(self._model_class): params}
57+
wrapped_params = {self._snakecase_name(self._model_class): params} # type: dict[str, Any]
58+
59+
if verify_carrier:
60+
wrapped_params["verify_carrier"] = verify_carrier
5861

5962
response = Requestor(self._client).request(method=RequestMethod.POST, url=url, params=wrapped_params)
6063

tests/cassettes/test_address_create_and_verify_carrier.yaml

Lines changed: 82 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tests/test_address.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,3 +169,15 @@ def test_address_create_verify_carrier(incorrect_address, test_client):
169169

170170
assert address.verifications.delivery.errors[0].message == "Address not found"
171171
assert address.verifications.zip4.errors[0].message == "Address not found"
172+
173+
174+
@pytest.mark.vcr()
175+
def test_address_create_and_verify_carrier(incorrect_address, test_client):
176+
"""Test creating and verifying an address with the `verify_carrier` param."""
177+
incorrect_address["verify_carrier"] = "UPS"
178+
address = test_client.address.create_and_verify(**incorrect_address)
179+
180+
assert isinstance(address, Address)
181+
182+
assert address.verifications.delivery.errors[0].message == "Address not found"
183+
assert address.verifications.zip4.errors[0].message == "Address not found"

0 commit comments

Comments
 (0)