core/tests/components/ps4/conftest.py

53 lines
1.5 KiB
Python
Raw Normal View History

2020-04-24 22:09:45 +00:00
"""Test configuration for PS4."""
2023-02-22 12:55:44 +00:00
from collections.abc import Generator
from unittest.mock import MagicMock, patch
2020-04-24 22:09:45 +00:00
from pyps4_2ndscreen.ddp import DEFAULT_UDP_PORT, DDPProtocol
2021-01-01 21:31:56 +00:00
import pytest
2020-04-24 22:09:45 +00:00
@pytest.fixture
2023-02-22 12:55:44 +00:00
def patch_load_json_object() -> Generator[MagicMock, None, None]:
2020-04-24 22:09:45 +00:00
"""Prevent load JSON being used."""
2023-02-22 12:55:44 +00:00
with patch(
"homeassistant.components.ps4.load_json_object", return_value={}
) as mock_load:
2020-04-24 22:09:45 +00:00
yield mock_load
@pytest.fixture
2023-02-22 12:55:44 +00:00
def patch_save_json() -> Generator[MagicMock, None, None]:
2020-04-24 22:09:45 +00:00
"""Prevent save JSON being used."""
with patch("homeassistant.components.ps4.save_json") as mock_save:
yield mock_save
@pytest.fixture
2023-02-22 12:55:44 +00:00
def patch_get_status() -> Generator[MagicMock, None, None]:
"""Prevent save JSON being used."""
with patch("pyps4_2ndscreen.ps4.get_status", return_value=None) as mock_get_status:
yield mock_get_status
@pytest.fixture
2023-02-22 12:55:44 +00:00
def mock_ddp_endpoint() -> Generator[None, None, None]:
"""Mock pyps4_2ndscreen.ddp.async_create_ddp_endpoint."""
protocol = DDPProtocol()
protocol._local_port = DEFAULT_UDP_PORT
protocol._transport = MagicMock()
with patch(
"homeassistant.components.ps4.async_create_ddp_endpoint",
return_value=(None, protocol),
):
yield
2020-04-24 22:09:45 +00:00
@pytest.fixture(autouse=True)
2023-02-22 12:55:44 +00:00
def patch_io(
patch_load_json_object: MagicMock,
patch_save_json: MagicMock,
patch_get_status: MagicMock,
mock_ddp_endpoint: None,
) -> None:
2020-04-24 22:09:45 +00:00
"""Prevent PS4 doing I/O."""