From ec95dafd49ccf008fbab071fce27de75375d7aa8 Mon Sep 17 00:00:00 2001 From: kridai Date: Thu, 4 Dec 2025 12:51:47 +0530 Subject: [PATCH] fix: allow 2XX response for delete operation --- tests/unit/base/test_version.py | 30 ++++++++++++++++++++++++++++++ twilio/base/version.py | 2 +- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/tests/unit/base/test_version.py b/tests/unit/base/test_version.py index 1f1f6395eb..4484cbdd5d 100644 --- a/tests/unit/base/test_version.py +++ b/tests/unit/base/test_version.py @@ -89,3 +89,33 @@ def test_fetch_redirect(self): response = self.client.messaging.v1.fetch(method="GET", uri="/Deactivations") self.assertIsNotNone(response) + + def test_delete_success(self): + self.holodeck.mock( + Response(201, ""), + Request( + method="DELETE", + url="https://api.twilio.com/2010-04-01/Accounts/AC123/Messages/MM123.json", + ), + ) + result = self.client.api.v2010.delete( + method="DELETE", uri="/Accounts/AC123/Messages/MM123.json" + ) + + self.assertTrue(result) + + def test_delete_not_found(self): + self.holodeck.mock( + Response(404, '{"message": "Resource not found"}'), + Request( + method="DELETE", + url="https://api.twilio.com/2010-04-01/Accounts/AC123/Messages/MM456.json", + ), + ) + + with self.assertRaises(Exception) as context: + self.client.api.v2010.delete( + method="DELETE", uri="/Accounts/AC123/Messages/MM456.json" + ) + + self.assertIn("Unable to delete record", str(context.exception)) diff --git a/twilio/base/version.py b/twilio/base/version.py index ed7e86f499..aead1e020c 100644 --- a/twilio/base/version.py +++ b/twilio/base/version.py @@ -236,7 +236,7 @@ def _parse_delete(self, method: str, uri: str, response: Response) -> bool: if response.status_code < 200 or response.status_code >= 300: raise self.exception(method, uri, response, "Unable to delete record") - return response.status_code == 204 + return True # if response code is 2XX, deletion was successful def delete( self,