"""Define pytest.fixtures available for all tests.""" from unittest.mock import MagicMock, patch from pyezviz import EzvizClient from pyezviz.test_cam_rtsp import TestRTSPAuth import pytest ezviz_login_token_return = { "session_id": "fake_token", "rf_session_id": "fake_rf_token", "api_url": "apiieu.ezvizlife.com", } @pytest.fixture(autouse=True) def mock_ffmpeg(hass): """Mock ffmpeg is loaded.""" hass.config.components.add("ffmpeg") @pytest.fixture def ezviz_test_rtsp_config_flow(hass): """Mock the EzvizApi for easier testing.""" with patch.object(TestRTSPAuth, "main", return_value=True), patch( "homeassistant.components.ezviz.config_flow.TestRTSPAuth" ) as mock_ezviz_test_rtsp: instance = mock_ezviz_test_rtsp.return_value = TestRTSPAuth( "test-ip", "test-username", "test-password", ) instance.main = MagicMock(return_value=True) yield mock_ezviz_test_rtsp @pytest.fixture def ezviz_config_flow(hass): """Mock the EzvizAPI for easier config flow testing.""" with patch.object(EzvizClient, "login", return_value=True), patch( "homeassistant.components.ezviz.config_flow.EzvizClient" ) as mock_ezviz: instance = mock_ezviz.return_value = EzvizClient( "test-username", "test-password", "local.host", "1", ) instance.login = MagicMock(return_value=ezviz_login_token_return) instance.get_detection_sensibility = MagicMock(return_value=True) yield mock_ezviz