From 24ff90a77f1313fec50c2ab957f344e17a967047 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Mon, 5 May 2025 13:00:01 -0400 Subject: [PATCH 1/2] VAPI-2273 Add UUI property to `PhoneNumber` BXML --- bandwidth/models/bxml/verbs/phone_number.py | 8 ++++++-- test/unit/models/bxml/test_phone_number.py | 5 +++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bandwidth/models/bxml/verbs/phone_number.py b/bandwidth/models/bxml/verbs/phone_number.py index ac209166..a352abd3 100644 --- a/bandwidth/models/bxml/verbs/phone_number.py +++ b/bandwidth/models/bxml/verbs/phone_number.py @@ -14,7 +14,8 @@ def __init__( self, number: str, transfer_answer_url: str=None, transfer_answer_method: str=None, transfer_answer_fallback_url: str=None, transfer_answer_fallback_method: str=None, transfer_disconnect_url: str=None, transfer_disconnect_method: str=None, username: str=None, - password: str=None, fallback_username: str=None, fallback_password: str=None, tag: str=None + password: str=None, fallback_username: str=None, fallback_password: str=None, tag: str=None, + uui: str=None ): """Initialize a verb @@ -31,6 +32,7 @@ def __init__( fallback_username (str, optional): The username to send in the HTTP request to transferAnswerFallbackUrl. Defaults to None. fallback_password (str, optional): The password to send in the HTTP request to transferAnswerFallbackUrl. Defaults to None. tag (str, optional): A custom string that will be sent with these and all future callbacks unless overwritten by a future tag attribute or cleared. May be cleared by setting tag="" Max length 256 characters. Defaults to None. + uui (str, optional): A comma-separated list of 'User-To-User' headers to be sent in the INVITE. The entire value cannot exceed 350 characters, including parameters and separators. Defaults to None. """ self.number = number self.transfer_answer_url = transfer_answer_url @@ -44,6 +46,7 @@ def __init__( self.fallback_username = fallback_username self.fallback_password = fallback_password self.tag = tag + self.uui = uui super().__init__( tag="PhoneNumber", content=self.number @@ -62,5 +65,6 @@ def _attributes(self): "password": self.password, "fallbackUsername": self.fallback_username, "fallbackPassword": self.fallback_password, - "tag": self.tag + "tag": self.tag, + "uui": self.uui } diff --git a/test/unit/models/bxml/test_phone_number.py b/test/unit/models/bxml/test_phone_number.py index aee3442a..7a9a4bef 100644 --- a/test/unit/models/bxml/test_phone_number.py +++ b/test/unit/models/bxml/test_phone_number.py @@ -27,3 +27,8 @@ def test_instance(self): def test_to_bxml(self): expected = '+19195551234' assert expected == self.phone_number.to_bxml() + + def test_with_uui(self): + self.phone_number.uui = "abc123" + expected = '+19195551234' + assert expected == self.phone_number.to_bxml() From 38c1fc6b20ba1074c5d580f7225a252834e50744 Mon Sep 17 00:00:00 2001 From: AJ Rice <53190766+ajrice6713@users.noreply.github.com> Date: Tue, 6 May 2025 09:10:24 -0400 Subject: [PATCH 2/2] Update test_phone_number.py --- test/unit/models/bxml/test_phone_number.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/test/unit/models/bxml/test_phone_number.py b/test/unit/models/bxml/test_phone_number.py index 7a9a4bef..28561115 100644 --- a/test/unit/models/bxml/test_phone_number.py +++ b/test/unit/models/bxml/test_phone_number.py @@ -15,6 +15,7 @@ class TestPhoneNumber(unittest.TestCase): def setUp(self): self.phone_number = PhoneNumber( number="+19195551234", + uui="abc123", transfer_answer_url="https://example.com/webhooks/transfer_answer", transfer_answer_method="POST", tag="" @@ -25,10 +26,5 @@ def test_instance(self): assert isinstance(self.phone_number, Verb) def test_to_bxml(self): - expected = '+19195551234' - assert expected == self.phone_number.to_bxml() - - def test_with_uui(self): - self.phone_number.uui = "abc123" expected = '+19195551234' assert expected == self.phone_number.to_bxml()