tests: add unittest.main() call

This commit is contained in:
Aleix Conchillo Flaqué
2026-01-28 11:01:52 -08:00
parent b486f35c70
commit 305ab44132
37 changed files with 149 additions and 0 deletions

View File

@@ -74,3 +74,7 @@ class TestGatedAggregator(unittest.IsolatedAsyncioTestCase):
frames_to_send=frames_to_send,
expected_down_frames=expected_down_frames,
)
if __name__ == "__main__":
unittest.main()

View File

@@ -115,3 +115,7 @@ class TestAudioBufferProcessor(unittest.IsolatedAsyncioTestCase):
self.assertEqual(merged_audio[6:8], bot_audio[2:4])
self.assertEqual(len(self.processor._user_audio_buffer), 0)
self.assertEqual(len(self.processor._bot_audio_buffer), 0)
if __name__ == "__main__":
unittest.main()

View File

@@ -1055,3 +1055,7 @@ class TestLLMAssistantAggregator(
0,
"Hello Pipecat. Here's some code: ```python\nprint('Hello, World!')\n``` ```javascript\nconsole.log('Hello, World!');\n``` And some more: ```html\n<div>Hello, World!</div>\n``` Hope that helps!",
)
if __name__ == "__main__":
unittest.main()

View File

@@ -566,3 +566,7 @@ class TestLLMAssistantAggregator(unittest.IsolatedAsyncioTestCase):
# The pending text should be emitted on EndFrame
self.assertEqual(len(stop_messages), 1)
self.assertEqual(stop_messages[0].content, "Hello from Pipecat!")
if __name__ == "__main__":
unittest.main()

View File

@@ -90,3 +90,7 @@ class TestDailyTransport(unittest.IsolatedAsyncioTestCase):
camera.write_frame.assert_called_with(b"test")
mic.write_frames.assert_called()
"""
if __name__ == "__main__":
unittest.main()

View File

@@ -240,3 +240,7 @@ class TestDTMFAggregator(unittest.IsolatedAsyncioTestCase):
]
self.assertEqual(len(transcription_frames), 1)
self.assertEqual(transcription_frames[0].text, "DTMF: 0123456789*#")
if __name__ == "__main__":
unittest.main()

View File

@@ -118,3 +118,7 @@ class TestWakeCheckFilter(unittest.IsolatedAsyncioTestCase):
expected_down_frames=expected_down_frames,
)
assert received_down[-1].text == "Phrase 1"
if __name__ == "__main__":
unittest.main()

View File

@@ -347,3 +347,7 @@ class TestFrameProcessor(unittest.IsolatedAsyncioTestCase):
self.assertIs(up_frame.items, orig.items)
self.assertIs(down_frame.metadata, orig.metadata)
self.assertIs(up_frame.metadata, orig.metadata)
if __name__ == "__main__":
unittest.main()

View File

@@ -204,3 +204,7 @@ class TestFunctionAdapters(unittest.TestCase):
}
]
assert AWSBedrockLLMAdapter().to_provider_tools_format(self.tools_def) == expected
if __name__ == "__main__":
unittest.main()

View File

@@ -22,3 +22,7 @@ class TestMinWordsInterruptionStrategy(unittest.IsolatedAsyncioTestCase):
self.assertEqual(await strategy.should_interrupt(), False)
await strategy.append_text(" How are you?")
self.assertEqual(await strategy.should_interrupt(), True)
if __name__ == "__main__":
unittest.main()

View File

@@ -353,3 +353,7 @@ class TestIVRNavigation(unittest.IsolatedAsyncioTestCase):
expected_down_frames=expected_down_frames,
expected_up_frames=expected_up_frames,
)
if __name__ == "__main__":
unittest.main()

View File

@@ -194,3 +194,7 @@ class TestSampleRateConversion:
expected_rates = [8000, 16000, 24000, 32000, 44100, 48000]
for rate in expected_rates:
assert rate in KRISP_SAMPLE_RATES
if __name__ == "__main__":
unittest.main()

View File

@@ -97,3 +97,7 @@ class TestLangchain(unittest.IsolatedAsyncioTestCase):
self.assertEqual(
context_aggregator.assistant().messages[-1]["content"], self.expected_response
)
if __name__ == "__main__":
unittest.main()

View File

@@ -134,3 +134,7 @@ class TestLLMFullResponseAggregator(unittest.IsolatedAsyncioTestCase):
expected_down_frames=expected_down_frames,
)
assert completion_ok
if __name__ == "__main__":
unittest.main()

View File

@@ -244,3 +244,7 @@ class TestMarkdownTextFilter(unittest.IsolatedAsyncioTestCase):
"bold and italic",
"Text filtering should be re-enabled",
)
if __name__ == "__main__":
unittest.main()

View File

@@ -192,3 +192,7 @@ class TestPatternPairAggregator(unittest.IsolatedAsyncioTestCase):
# Buffer should be empty
self.assertEqual(self.aggregator.text.text, "")
if __name__ == "__main__":
unittest.main()

View File

@@ -528,3 +528,7 @@ class TestPipelineTask(unittest.IsolatedAsyncioTestCase):
await task.run(PipelineTaskParams(loop=asyncio.get_event_loop()))
except asyncio.CancelledError:
assert error_received
if __name__ == "__main__":
unittest.main()

View File

@@ -7,6 +7,7 @@
"""Tests for PiperTTSService."""
import asyncio
import unittest
import aiohttp
import pytest
@@ -143,3 +144,7 @@ async def test_run_piper_tts_error(aiohttp_client):
assert "status: 404" in up_frames[0].error, (
"ErrorFrame should contain details about the 404"
)
if __name__ == "__main__":
unittest.main()

View File

@@ -118,3 +118,7 @@ class TestProducerConsumerProcessor(unittest.IsolatedAsyncioTestCase):
frames_to_send=frames_to_send,
expected_down_frames=expected_down_frames,
)
if __name__ == "__main__":
unittest.main()

View File

@@ -38,3 +38,7 @@ class TestProtobufFrameSerializer(unittest.IsolatedAsyncioTestCase):
self.assertEqual(frame.audio, audio_frame.audio)
self.assertEqual(frame.sample_rate, audio_frame.sample_rate)
self.assertEqual(frame.num_channels, audio_frame.num_channels)
if __name__ == "__main__":
unittest.main()

View File

@@ -171,3 +171,7 @@ class TestRNNoiseCancellation(unittest.IsolatedAsyncioTestCase):
self.assertLess(mse_output, mse_input, "MSE did not improve")
print("Test Passed: Noise cancellation verified.")
if __name__ == "__main__":
unittest.main()

View File

@@ -143,3 +143,7 @@ class TestRNNoiseFilter(unittest.IsolatedAsyncioTestCase):
)
await filter.stop()
if __name__ == "__main__":
unittest.main()

View File

@@ -132,3 +132,7 @@ class TestRNNoiseResampling(unittest.IsolatedAsyncioTestCase):
)
print("Test Passed: Resampling logic verified (with mocked RNNoise).")
if __name__ == "__main__":
unittest.main()

View File

@@ -509,3 +509,7 @@ async def test_aws_bedrock_run_inference_client_exception():
with patch.object(service._aws_session, "client", return_value=mock_context_manager):
with pytest.raises(Exception, match="Bedrock API Error"):
await service.run_inference(mock_context)
if __name__ == "__main__":
unittest.main()

View File

@@ -123,3 +123,7 @@ class TestSimpleTextAggregator(unittest.IsolatedAsyncioTestCase):
# flush() returns any remaining text (the "W" in this case)
result = await self.aggregator.flush()
assert result.text == "W"
if __name__ == "__main__":
unittest.main()

View File

@@ -62,3 +62,7 @@ class TestSkipTagsAggregator(unittest.IsolatedAsyncioTestCase):
self.assertEqual(result.text, text)
self.assertEqual(self.aggregator.text.text, "")
self.assertEqual(self.aggregator.text.type, "sentence")
if __name__ == "__main__":
unittest.main()

View File

@@ -326,3 +326,7 @@ class TestSTTMuteFilter(unittest.IsolatedAsyncioTestCase):
frames_to_send=frames_to_send,
expected_down_frames=expected_returned_frames,
)
if __name__ == "__main__":
unittest.main()

View File

@@ -792,3 +792,7 @@ class TestThoughtTranscription(unittest.IsolatedAsyncioTestCase):
# Verify no updates since thought wasn't properly started
self.assertEqual(len(received_updates), 0)
if __name__ == "__main__":
unittest.main()

View File

@@ -214,3 +214,7 @@ class TestUserIdleController(unittest.IsolatedAsyncioTestCase):
self.assertGreater(third_count, second_count)
await controller.cleanup()
if __name__ == "__main__":
unittest.main()

View File

@@ -218,3 +218,7 @@ class TestUserIdleProcessor(unittest.IsolatedAsyncioTestCase):
)
assert callback_called.is_set(), "Idle callback not called after bot speech"
if __name__ == "__main__":
unittest.main()

View File

@@ -137,3 +137,7 @@ class TestFunctionCallUserMuteStrategy(unittest.IsolatedAsyncioTestCase):
)
)
self.assertFalse(await strategy.process_frame(InterruptionFrame()))
if __name__ == "__main__":
unittest.main()

View File

@@ -190,3 +190,7 @@ class TestUserTurnController(unittest.IsolatedAsyncioTestCase):
self.assertTrue(should_start)
self.assertTrue(should_stop)
self.assertTrue(timeout)
if __name__ == "__main__":
unittest.main()

View File

@@ -152,3 +152,7 @@ class TestUserTurnProcessor(unittest.IsolatedAsyncioTestCase):
self.assertTrue(should_start)
self.assertTrue(should_stop)
self.assertFalse(timeout)
if __name__ == "__main__":
unittest.main()

View File

@@ -199,3 +199,7 @@ class TestExternalUserTurnStartStrategy(unittest.IsolatedAsyncioTestCase):
await strategy.process_frame(UserStartedSpeakingFrame())
self.assertTrue(should_start)
if __name__ == "__main__":
unittest.main()

View File

@@ -506,3 +506,7 @@ class TestExternalUserTurnStopStrategy(unittest.IsolatedAsyncioTestCase):
await strategy.process_frame(UserStoppedSpeakingFrame())
self.assertTrue(should_start)
if __name__ == "__main__":
unittest.main()

View File

@@ -32,3 +32,7 @@ class TestUtilsNetwork(unittest.IsolatedAsyncioTestCase):
assert exponential_backoff_time(attempt=4, min_wait=1, max_wait=20, multiplier=2) == 16
assert exponential_backoff_time(attempt=5, min_wait=1, max_wait=20, multiplier=2) == 20
assert exponential_backoff_time(attempt=6, min_wait=1, max_wait=20, multiplier=2) == 20
if __name__ == "__main__":
unittest.main()

View File

@@ -232,3 +232,7 @@ class TestStartEndTags(unittest.IsolatedAsyncioTestCase):
("<a>", "</a>"),
41,
)
if __name__ == "__main__":
unittest.main()