core/tests/components/ezviz/conftest.py

55 lines
1.6 KiB
Python

"""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