1
0
mirror of https://github.com/home-assistant/core.git synced 2025-12-24 12:59:34 +00:00

Use load_json_object in ps4 (#88590)

This commit is contained in:
epenet
2023-02-22 13:55:44 +01:00
committed by GitHub
parent 1278fe1f81
commit 42d90538e4
4 changed files with 45 additions and 53 deletions

View File

@@ -198,14 +198,14 @@ async def setup_mock_component(hass):
await hass.async_block_till_done()
def test_games_reformat_to_dict(hass: HomeAssistant) -> None:
def test_games_reformat_to_dict(
hass: HomeAssistant, patch_load_json_object: MagicMock
) -> None:
"""Test old data format is converted to new format."""
patch_load_json_object.return_value = MOCK_GAMES_DATA_OLD_STR_FORMAT
with patch(
"homeassistant.components.ps4.load_json",
return_value=MOCK_GAMES_DATA_OLD_STR_FORMAT,
), patch("homeassistant.components.ps4.save_json", side_effect=MagicMock()), patch(
"os.path.isfile", return_value=True
):
"homeassistant.components.ps4.save_json", side_effect=MagicMock()
), patch("os.path.isfile", return_value=True):
mock_games = ps4.load_games(hass, MOCK_ENTRY_ID)
# New format is a nested dict.
@@ -221,13 +221,12 @@ def test_games_reformat_to_dict(hass: HomeAssistant) -> None:
assert mock_data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.GAME
def test_load_games(hass: HomeAssistant) -> None:
def test_load_games(hass: HomeAssistant, patch_load_json_object: MagicMock) -> None:
"""Test that games are loaded correctly."""
patch_load_json_object.return_value = MOCK_GAMES
with patch(
"homeassistant.components.ps4.load_json", return_value=MOCK_GAMES
), patch("homeassistant.components.ps4.save_json", side_effect=MagicMock()), patch(
"os.path.isfile", return_value=True
):
"homeassistant.components.ps4.save_json", side_effect=MagicMock()
), patch("os.path.isfile", return_value=True):
mock_games = ps4.load_games(hass, MOCK_ENTRY_ID)
assert isinstance(mock_games, dict)
@@ -240,29 +239,12 @@ def test_load_games(hass: HomeAssistant) -> None:
assert mock_data[ATTR_MEDIA_CONTENT_TYPE] == MediaType.GAME
def test_loading_games_returns_dict(hass: HomeAssistant) -> None:
def test_loading_games_returns_dict(
hass: HomeAssistant, patch_load_json_object: MagicMock
) -> None:
"""Test that loading games always returns a dict."""
patch_load_json_object.side_effect = HomeAssistantError
with patch(
"homeassistant.components.ps4.load_json", side_effect=HomeAssistantError
), patch("homeassistant.components.ps4.save_json", side_effect=MagicMock()), patch(
"os.path.isfile", return_value=True
):
mock_games = ps4.load_games(hass, MOCK_ENTRY_ID)
assert isinstance(mock_games, dict)
assert not mock_games
with patch(
"homeassistant.components.ps4.load_json", return_value="Some String"
), patch("homeassistant.components.ps4.save_json", side_effect=MagicMock()), patch(
"os.path.isfile", return_value=True
):
mock_games = ps4.load_games(hass, MOCK_ENTRY_ID)
assert isinstance(mock_games, dict)
assert not mock_games
with patch("homeassistant.components.ps4.load_json", return_value=[]), patch(
"homeassistant.components.ps4.save_json", side_effect=MagicMock()
), patch("os.path.isfile", return_value=True):
mock_games = ps4.load_games(hass, MOCK_ENTRY_ID)