@@ -278,11 +278,73 @@ public void testVerify() throws EasyPostException {
278278 @ Test
279279 public void testInvalidAddressCreation () throws EasyPostException {
280280 vcr .setUpTest ("error_address_creation" );
281+ Map <String , Object > params = new HashMap <>();
281282 InvalidRequestError exception =
282- assertThrows (InvalidRequestError .class , () -> vcr .client .address .createAndVerify (null ));
283+ assertThrows (InvalidRequestError .class , () -> vcr .client .address .createAndVerify (params ));
283284
284285 assertEquals ("PARAMETER.REQUIRED" , exception .getCode ());
285286 assertEquals (422 , exception .getStatusCode ());
286287 assertEquals ("Missing required parameter." , exception .getMessage ());
287288 }
289+
290+ /**
291+ * Test creating an address with the verify_carrier param.
292+ * We purposefully pass in slightly incorrect data to get the corrected address
293+ * back once verified.
294+ *
295+ * @throws EasyPostException when the request fails.
296+ */
297+ @ Test
298+ public void testCreateVerifyCarrier () throws EasyPostException {
299+ vcr .setUpTest ("create_verify_carrier" );
300+
301+ Map <String , Object > addressData = Fixtures .incorrectAddress ();
302+
303+ addressData .put ("verify" , true );
304+ addressData .put ("verify_carrier" , "UPS" );
305+ Address address = vcr .client .address .create (addressData );
306+
307+ assertInstanceOf (Address .class , address );
308+
309+ AddressVerificationFieldError addressVerificationFieldErrorGetDelivery = address .getVerifications ()
310+ .getDelivery ()
311+ .getErrors ()
312+ .get (0 );
313+ AddressVerificationFieldError addressVerificationFieldErrorZip4 = address .getVerifications ()
314+ .getZip4 ()
315+ .getErrors ()
316+ .get (0 );
317+ assertEquals ("Address not found" , addressVerificationFieldErrorGetDelivery .getMessage ());
318+ assertEquals ("Address not found" , addressVerificationFieldErrorZip4 .getMessage ());
319+ }
320+
321+ /**
322+ * Test creating and verifying an address with the verify_carrier param.
323+ * We purposefully pass in slightly incorrect data to get the corrected address
324+ * back once verified.
325+ *
326+ * @throws EasyPostException when the request fails.
327+ */
328+ @ Test
329+ public void testCreateAndVerifyCarrier () throws EasyPostException {
330+ vcr .setUpTest ("create_and_verify_carrier" );
331+
332+ Map <String , Object > addressData = Fixtures .incorrectAddress ();
333+
334+ addressData .put ("verify_carrier" , "UPS" );
335+ Address address = vcr .client .address .createAndVerify (addressData );
336+
337+ assertInstanceOf (Address .class , address );
338+
339+ AddressVerificationFieldError addressVerificationFieldErrorGetDelivery = address .getVerifications ()
340+ .getDelivery ()
341+ .getErrors ()
342+ .get (0 );
343+ AddressVerificationFieldError addressVerificationFieldErrorZip4 = address .getVerifications ()
344+ .getZip4 ()
345+ .getErrors ()
346+ .get (0 );
347+ assertEquals ("Address not found" , addressVerificationFieldErrorGetDelivery .getMessage ());
348+ assertEquals ("Address not found" , addressVerificationFieldErrorZip4 .getMessage ());
349+ }
288350}
0 commit comments