Started (incomplete) implementation of stream verification scheduler and endpoints
All checks were successful
AWS Deploy on Push / build (push) Successful in 5m18s
All checks were successful
AWS Deploy on Push / build (push) Successful in 5m18s
This commit is contained in:
43
tests/routers/mocks.py
Normal file
43
tests/routers/mocks.py
Normal file
@@ -0,0 +1,43 @@
|
||||
from unittest.mock import Mock
|
||||
|
||||
from fastapi import Request
|
||||
|
||||
from app.iptv.scheduler import StreamScheduler
|
||||
|
||||
|
||||
class MockScheduler:
|
||||
"""Base mock APScheduler instance"""
|
||||
|
||||
running = True
|
||||
start = Mock()
|
||||
shutdown = Mock()
|
||||
add_job = Mock()
|
||||
remove_job = Mock()
|
||||
get_job = Mock(return_value=None)
|
||||
|
||||
def __init__(self, running=True):
|
||||
self.running = running
|
||||
|
||||
|
||||
def create_trigger_mock(triggered_ref: dict) -> callable:
|
||||
"""Create a mock trigger function that updates a reference when called"""
|
||||
|
||||
def trigger_mock():
|
||||
triggered_ref["value"] = True
|
||||
|
||||
return trigger_mock
|
||||
|
||||
|
||||
async def mock_get_scheduler(
|
||||
request: Request, scheduler_class=MockScheduler, running=True, **kwargs
|
||||
) -> StreamScheduler:
|
||||
"""Mock dependency for get_scheduler with customization options"""
|
||||
scheduler = StreamScheduler()
|
||||
mock_scheduler = scheduler_class(running=running)
|
||||
|
||||
# Apply any additional attributes/methods
|
||||
for key, value in kwargs.items():
|
||||
setattr(mock_scheduler, key, value)
|
||||
|
||||
scheduler.scheduler = mock_scheduler
|
||||
return scheduler
|
||||
Reference in New Issue
Block a user