65 lines
2.0 KiB
Python
65 lines
2.0 KiB
Python
"""Common fixtures for the Pterodactyl tests."""
|
|
|
|
from collections.abc import Generator
|
|
from unittest.mock import AsyncMock, patch
|
|
|
|
from pydactyl.responses import PaginatedResponse
|
|
import pytest
|
|
|
|
from homeassistant.components.pterodactyl.const import DOMAIN
|
|
from homeassistant.const import CONF_API_KEY, CONF_URL
|
|
|
|
from .const import TEST_API_KEY, TEST_URL
|
|
|
|
from tests.common import MockConfigEntry, load_json_object_fixture
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_setup_entry() -> Generator[AsyncMock]:
|
|
"""Override async_setup_entry."""
|
|
with patch(
|
|
"homeassistant.components.pterodactyl.async_setup_entry", return_value=True
|
|
) as mock_setup_entry:
|
|
yield mock_setup_entry
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_config_entry() -> MockConfigEntry:
|
|
"""Create Pterodactyl mock config entry."""
|
|
return MockConfigEntry(
|
|
domain=DOMAIN,
|
|
unique_id=None,
|
|
entry_id="01234567890123456789012345678901",
|
|
title=TEST_URL,
|
|
data={
|
|
CONF_URL: TEST_URL,
|
|
CONF_API_KEY: TEST_API_KEY,
|
|
},
|
|
version=1,
|
|
)
|
|
|
|
|
|
@pytest.fixture
|
|
def mock_pterodactyl() -> Generator[AsyncMock]:
|
|
"""Mock the Pterodactyl API."""
|
|
with patch(
|
|
"homeassistant.components.pterodactyl.api.PterodactylClient", autospec=True
|
|
) as mock:
|
|
server_list_data = load_json_object_fixture("server_list_data.json", DOMAIN)
|
|
server_1_data = load_json_object_fixture("server_1_data.json", DOMAIN)
|
|
server_2_data = load_json_object_fixture("server_2_data.json", DOMAIN)
|
|
utilization_data = load_json_object_fixture("utilization_data.json", DOMAIN)
|
|
|
|
mock.return_value.client.servers.list_servers.return_value = PaginatedResponse(
|
|
mock.return_value, "client", server_list_data
|
|
)
|
|
mock.return_value.client.servers.get_server.side_effect = [
|
|
server_1_data,
|
|
server_2_data,
|
|
]
|
|
mock.return_value.client.servers.get_server_utilization.return_value = (
|
|
utilization_data
|
|
)
|
|
|
|
yield mock.return_value
|