1
0
mirror of https://github.com/home-assistant/core.git synced 2026-02-25 04:17:02 +00:00
Files
core/tests/components/prosegur/conftest.py
Diogo Gomes c8fc2dc440 Add Camera platform to Prosegur (#76428)
* add camera to prosegur

* add tests

* address review

* better tests

* clean

* clean

* fix tests

* leftover from merge

* sorting missing

* Update homeassistant/components/prosegur/services.yaml

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-02-26 20:25:55 -05:00

59 lines
1.7 KiB
Python

"""Define test fixtures for Prosegur."""
from unittest.mock import AsyncMock, patch
from pyprosegur.installation import Camera
import pytest
from homeassistant.components.prosegur import DOMAIN as PROSEGUR_DOMAIN
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
from homeassistant.core import HomeAssistant
from tests.common import MockConfigEntry
CONTRACT = "1234abcd"
@pytest.fixture
def mock_config_entry() -> MockConfigEntry:
"""Return the default mocked config entry."""
return MockConfigEntry(
domain=PROSEGUR_DOMAIN,
data={
"contract": CONTRACT,
CONF_USERNAME: "user@email.com",
CONF_PASSWORD: "password",
"country": "PT",
},
)
@pytest.fixture
def mock_install() -> AsyncMock:
"""Return the mocked alarm install."""
install = AsyncMock()
install.contract = CONTRACT
install.cameras = [Camera("1", "test_cam")]
install.get_image = AsyncMock(return_value=b"ABC")
install.request_image = AsyncMock()
install.data = {"contract": CONTRACT}
install.activity = AsyncMock(return_value={"event": "armed"})
return install
@pytest.fixture
async def init_integration(
hass: HomeAssistant, mock_config_entry: MockConfigEntry, mock_install: AsyncMock
) -> MockConfigEntry:
"""Set up the Prosegur integration for testing."""
mock_config_entry.add_to_hass(hass)
with patch(
"pyprosegur.installation.Installation.retrieve", return_value=mock_install
), patch("pyprosegur.auth.Auth.login", return_value=AsyncMock()):
await hass.config_entries.async_setup(mock_config_entry.entry_id)
await hass.async_block_till_done()
return mock_config_entry