1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2026-02-15 07:27:13 +00:00
Files
supervisor/tests/docker/test_observer.py
Mike Degatano 909a2dda2f Migrate (almost) all docker container interactions to aiodocker (#6489)
* Migrate all docker container interactions to aiodocker

* Remove containers_legacy since its no longer used

* Add back remove color logic

* Revert accidental invert of conditional in setup_network

* Fix typos found by copilot

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Revert "Apply suggestions from code review"

This reverts commit 0a475433ea.

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-27 12:42:17 +01:00

42 lines
1.5 KiB
Python

"""Test Observer plugin container."""
from ipaddress import IPv4Address, ip_network
from unittest.mock import patch
from aiodocker.containers import DockerContainer
from supervisor.coresys import CoreSys
from supervisor.docker.const import DockerMount, MountType
from supervisor.docker.manager import DockerAPI
async def test_start(coresys: CoreSys, container: DockerContainer):
"""Test starting observer plugin."""
with patch.object(
DockerAPI, "run", return_value=container.show.return_value
) as run:
await coresys.plugins.observer.start()
run.assert_called_once()
assert run.call_args.kwargs["ipv4"] == IPv4Address("172.30.32.6")
assert run.call_args.kwargs["name"] == "hassio_observer"
assert run.call_args.kwargs["hostname"] == "hassio-observer"
assert run.call_args.kwargs["restart_policy"] == {"Name": "always"}
assert run.call_args.kwargs["extra_hosts"] == {
"supervisor": IPv4Address("172.30.32.2")
}
assert run.call_args.kwargs["oom_score_adj"] == -300
assert run.call_args.kwargs["environment"]["NETWORK_MASK"] == ip_network(
"172.30.32.0/23"
)
assert run.call_args.kwargs["ports"] == {"80/tcp": 4357}
assert run.call_args.kwargs["mounts"] == [
DockerMount(
type=MountType.BIND,
source="/run/docker.sock",
target="/run/docker.sock",
read_only=True,
),
]
assert "volumes" not in run.call_args.kwargs