From dcccab581cf70a32b21d94e92a9fdc52156d8638 Mon Sep 17 00:00:00 2001 From: Sudhanshu Moghe Date: Thu, 7 Aug 2025 15:23:04 -0400 Subject: [PATCH 1/7] Unskip test_conference_recordings to address PV issues --- test/smoke/test_conferences_api.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/smoke/test_conferences_api.py b/test/smoke/test_conferences_api.py index 53f9f9d7..7f69bb1c 100644 --- a/test/smoke/test_conferences_api.py +++ b/test/smoke/test_conferences_api.py @@ -248,7 +248,7 @@ def test_conference_and_members(self): BW_ACCOUNT_ID, call_id, update_call ) - @unittest.skip("PV Issues") + # @unittest.skip("PV Issues") def test_conference_recordings(self) -> None: """ Tests a successful flow of creating a call with a recording. @@ -261,6 +261,8 @@ def test_conference_recordings(self) -> None: answer_url = MANTECA_BASE_URL + "bxml/joinConferencePause" (test_id, call_id, conference_id) = self.create_conference(answer_url) + print(test_id, call_id, conference_id) + list_conferences_response = self.conference_api_instance.list_conferences( BW_ACCOUNT_ID) From be74711fa5bb2f6da449ee8ce4f2bb6f36002be4 Mon Sep 17 00:00:00 2001 From: Sudhanshu Moghe Date: Fri, 8 Aug 2025 08:44:58 -0400 Subject: [PATCH 2/7] Trigger build From 360b6abe93847f0a33149f658c1c57a62c3a0dcd Mon Sep 17 00:00:00 2001 From: Sudhanshu Moghe Date: Fri, 8 Aug 2025 13:47:07 -0400 Subject: [PATCH 3/7] Add .env to .gitignore for local testing --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index e7aa7b90..74229e36 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,6 @@ target/ # Test Fixtures test/fixtures/ + +# Local testing +.env From 87e1f5a9ab8cc9b2d13137186a38cac606b6672a Mon Sep 17 00:00:00 2001 From: Sudhanshu Moghe Date: Tue, 12 Aug 2025 11:19:31 -0400 Subject: [PATCH 4/7] Unskip test_conference_recordings and adjust polling logic for recording verification --- test/smoke/test_conferences_api.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/test/smoke/test_conferences_api.py b/test/smoke/test_conferences_api.py index 7f69bb1c..38ac6adc 100644 --- a/test/smoke/test_conferences_api.py +++ b/test/smoke/test_conferences_api.py @@ -248,7 +248,6 @@ def test_conference_and_members(self): BW_ACCOUNT_ID, call_id, update_call ) - # @unittest.skip("PV Issues") def test_conference_recordings(self) -> None: """ Tests a successful flow of creating a call with a recording. @@ -261,8 +260,6 @@ def test_conference_recordings(self) -> None: answer_url = MANTECA_BASE_URL + "bxml/joinConferencePause" (test_id, call_id, conference_id) = self.create_conference(answer_url) - print(test_id, call_id, conference_id) - list_conferences_response = self.conference_api_instance.list_conferences( BW_ACCOUNT_ID) @@ -273,16 +270,8 @@ def test_conference_recordings(self) -> None: BW_ACCOUNT_ID, conference_id, updateBxmlBody) assert_that(update_conference_bxml_response.status_code, 204) - # Poll Manteca to ensure our conference is recorded - call_status = self.get_test_status(test_id) - retries = 0 - while call_status['callRecorded'] == False and retries < self.MAX_RETRIES: - time.sleep(self.TEST_SLEEP) - call_status = self.get_test_status(test_id) - retries += 1 - - # If we failed to get a recorded conference, fail due to polling timeout - assert call_status['callRecorded'] == True + # Sleep 30 seconds to ensure recording exists + time.sleep(30) list_conference_recordings_response: ApiResponse = self.conference_api_instance.list_conference_recordings_with_http_info( BW_ACCOUNT_ID, conference_id) From 238766d05f504b4bfb621fe578113b6f702f1adf Mon Sep 17 00:00:00 2001 From: Sudhanshu Moghe Date: Tue, 12 Aug 2025 13:47:51 -0400 Subject: [PATCH 5/7] Refactor test_conference_recordings to implement retry logic for recording availability --- test/smoke/test_conferences_api.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/test/smoke/test_conferences_api.py b/test/smoke/test_conferences_api.py index 38ac6adc..33b375d5 100644 --- a/test/smoke/test_conferences_api.py +++ b/test/smoke/test_conferences_api.py @@ -270,12 +270,15 @@ def test_conference_recordings(self) -> None: BW_ACCOUNT_ID, conference_id, updateBxmlBody) assert_that(update_conference_bxml_response.status_code, 204) - # Sleep 30 seconds to ensure recording exists - time.sleep(30) - - list_conference_recordings_response: ApiResponse = self.conference_api_instance.list_conference_recordings_with_http_info( - BW_ACCOUNT_ID, conference_id) - assert_that(list_conference_recordings_response.status_code, 200) + max_attempts = 5 + for _ in range(max_attempts): + list_conference_recordings_response: ApiResponse = self.conference_api_instance.list_conference_recordings_with_http_info( + BW_ACCOUNT_ID, conference_id) + if list_conference_recordings_response.status_code == 200: + break + time.sleep(self.TEST_SLEEP_LONG) + else: + raise AssertionError(f"Conference recordings not available. Response:{list_conference_recordings_response.data}") conference_recordings = list_conference_recordings_response.data assert_that(len(conference_recordings), greater_than(0)) From 33189da9109a34d9b54978e3447ae7b379fea9b7 Mon Sep 17 00:00:00 2001 From: Sudhanshu Moghe Date: Tue, 12 Aug 2025 14:00:04 -0400 Subject: [PATCH 6/7] Add initialization for list_conference_recordings_response in test_conference_recordings --- test/smoke/test_conferences_api.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/smoke/test_conferences_api.py b/test/smoke/test_conferences_api.py index 33b375d5..1170fd0d 100644 --- a/test/smoke/test_conferences_api.py +++ b/test/smoke/test_conferences_api.py @@ -271,6 +271,7 @@ def test_conference_recordings(self) -> None: assert_that(update_conference_bxml_response.status_code, 204) max_attempts = 5 + list_conference_recordings_response: ApiResponse = None for _ in range(max_attempts): list_conference_recordings_response: ApiResponse = self.conference_api_instance.list_conference_recordings_with_http_info( BW_ACCOUNT_ID, conference_id) From 76d204bc5ee7635bdc2b97e9b1ed4996fdc4cfec Mon Sep 17 00:00:00 2001 From: Sudhanshu Moghe Date: Tue, 12 Aug 2025 15:39:39 -0400 Subject: [PATCH 7/7] Refactor test_conference_recordings to simplify recording availability check by removing retry logic and adding a fixed sleep duration --- test/smoke/test_conferences_api.py | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/test/smoke/test_conferences_api.py b/test/smoke/test_conferences_api.py index 1170fd0d..4166eca0 100644 --- a/test/smoke/test_conferences_api.py +++ b/test/smoke/test_conferences_api.py @@ -270,16 +270,12 @@ def test_conference_recordings(self) -> None: BW_ACCOUNT_ID, conference_id, updateBxmlBody) assert_that(update_conference_bxml_response.status_code, 204) - max_attempts = 5 - list_conference_recordings_response: ApiResponse = None - for _ in range(max_attempts): - list_conference_recordings_response: ApiResponse = self.conference_api_instance.list_conference_recordings_with_http_info( - BW_ACCOUNT_ID, conference_id) - if list_conference_recordings_response.status_code == 200: - break - time.sleep(self.TEST_SLEEP_LONG) - else: - raise AssertionError(f"Conference recordings not available. Response:{list_conference_recordings_response.data}") + # Sleep 15 seconds to ensure recording exists + time.sleep(15) + + list_conference_recordings_response: ApiResponse = self.conference_api_instance.list_conference_recordings_with_http_info( + BW_ACCOUNT_ID, conference_id) + assert_that(list_conference_recordings_response.status_code, 200) conference_recordings = list_conference_recordings_response.data assert_that(len(conference_recordings), greater_than(0))