mirror of
https://github.com/Monadical-SAS/reflector.git
synced 2025-12-20 20:29:06 +00:00
feat: daily.co support as alternative to whereby (#691)
* llm instructions * vibe dailyco * vibe dailyco * doc update (vibe) * dont show recording ui on call * stub processor (vibe) * stub processor (vibe) self-review * stub processor (vibe) self-review * chore(main): release 0.14.0 (#670) * Add multitrack pipeline * Mixdown audio tracks * Mixdown with pyav filter graph * Trigger multitrack processing for daily recordings * apply platform from envs in priority: non-dry * Use explicit track keys for processing * Align tracks of a multitrack recording * Generate waveforms for the mixed audio * Emit multriack pipeline events * Fix multitrack pipeline track alignment * dailico docs * Enable multitrack reprocessing * modal temp files uniform names, cleanup. remove llm temporary docs * docs cleanup * dont proceed with raw recordings if any of the downloads fail * dry transcription pipelines * remove is_miltitrack * comments * explicit dailyco room name * docs * remove stub data/method * frontend daily/whereby code self-review (no-mistake) * frontend daily/whereby code self-review (no-mistakes) * frontend daily/whereby code self-review (no-mistakes) * consent cleanup for multitrack (no-mistakes) * llm fun * remove extra comments * fix tests * merge migrations * Store participant names * Get participants by meeting session id * pop back main branch migration * s3 paddington (no-mistakes) * comment * pr comments * pr comments * pr comments * platform / meeting cleanup * Use participant names in summary generation * platform assignment to meeting at controller level * pr comment * room playform properly default none * room playform properly default none * restore migration lost * streaming WIP * extract storage / use common storage / proper env vars for storage * fix mocks tests * remove fall back * streaming for multifile * cenrtal storage abstraction (no-mistakes) * remove dead code / vars * Set participant user id for authenticated users * whereby recording name parsing fix * whereby recording name parsing fix * more file stream * storage dry + tests * remove homemade boto3 streaming and use proper boto * update migration guide * webhook creation script - print uuid --------- Co-authored-by: Igor Loskutov <igor.loskutoff@gmail.com> Co-authored-by: Mathieu Virbel <mat@meltingrocks.com> Co-authored-by: Sergey Mankovsky <sergey@monadical.com>
This commit is contained in:
58
server/tests/test_video_platforms_factory.py
Normal file
58
server/tests/test_video_platforms_factory.py
Normal file
@@ -0,0 +1,58 @@
|
||||
"""Tests for video_platforms.factory module."""
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
from reflector.video_platforms.factory import get_platform
|
||||
|
||||
|
||||
class TestGetPlatformF:
|
||||
"""Test suite for get_platform function."""
|
||||
|
||||
@patch("reflector.video_platforms.factory.settings")
|
||||
def test_with_room_platform(self, mock_settings):
|
||||
"""When room_platform provided, should return room_platform."""
|
||||
mock_settings.DEFAULT_VIDEO_PLATFORM = "whereby"
|
||||
|
||||
# Should return the room's platform when provided
|
||||
assert get_platform(room_platform="daily") == "daily"
|
||||
assert get_platform(room_platform="whereby") == "whereby"
|
||||
|
||||
@patch("reflector.video_platforms.factory.settings")
|
||||
def test_without_room_platform_uses_default(self, mock_settings):
|
||||
"""When no room_platform, should return DEFAULT_VIDEO_PLATFORM."""
|
||||
mock_settings.DEFAULT_VIDEO_PLATFORM = "whereby"
|
||||
|
||||
# Should return default when room_platform is None
|
||||
assert get_platform(room_platform=None) == "whereby"
|
||||
|
||||
@patch("reflector.video_platforms.factory.settings")
|
||||
def test_with_daily_default(self, mock_settings):
|
||||
"""When DEFAULT_VIDEO_PLATFORM is 'daily', should return 'daily' when no room_platform."""
|
||||
mock_settings.DEFAULT_VIDEO_PLATFORM = "daily"
|
||||
|
||||
# Should return default 'daily' when room_platform is None
|
||||
assert get_platform(room_platform=None) == "daily"
|
||||
|
||||
@patch("reflector.video_platforms.factory.settings")
|
||||
def test_no_room_id_provided(self, mock_settings):
|
||||
"""Should work correctly even when room_id is not provided."""
|
||||
mock_settings.DEFAULT_VIDEO_PLATFORM = "whereby"
|
||||
|
||||
# Should use room_platform when provided
|
||||
assert get_platform(room_platform="daily") == "daily"
|
||||
|
||||
# Should use default when room_platform not provided
|
||||
assert get_platform(room_platform=None) == "whereby"
|
||||
|
||||
@patch("reflector.video_platforms.factory.settings")
|
||||
def test_room_platform_always_takes_precedence(self, mock_settings):
|
||||
"""room_platform should always be used when provided."""
|
||||
mock_settings.DEFAULT_VIDEO_PLATFORM = "whereby"
|
||||
|
||||
# room_platform should take precedence over default
|
||||
assert get_platform(room_platform="daily") == "daily"
|
||||
assert get_platform(room_platform="whereby") == "whereby"
|
||||
|
||||
# Different default shouldn't matter when room_platform provided
|
||||
mock_settings.DEFAULT_VIDEO_PLATFORM = "daily"
|
||||
assert get_platform(room_platform="whereby") == "whereby"
|
||||
Reference in New Issue
Block a user