1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2025-12-24 12:29:08 +00:00
Files
supervisor/tests/dbus/agent/test_apparmor.py
Mike Degatano b71c6c60da Share MessageBus across dbus objects (#3860)
* Share MessageBus across dbus objects

* Fix connect calls in tests
2022-09-12 20:10:12 +02:00

56 lines
1.7 KiB
Python

"""Test AppArmor/Agent dbus interface."""
from pathlib import Path
import pytest
from supervisor.coresys import CoreSys
from supervisor.exceptions import DBusNotConnectedError
async def test_dbus_osagent_apparmor(coresys: CoreSys):
"""Test coresys dbus connection."""
assert coresys.dbus.agent.apparmor.version is None
await coresys.dbus.agent.connect(coresys.dbus.bus)
await coresys.dbus.agent.update()
assert coresys.dbus.agent.apparmor.version == "2.13.2"
async def test_dbus_osagent_apparmor_load(coresys: CoreSys, dbus: list[str]):
"""Load AppArmor Profile on host."""
with pytest.raises(DBusNotConnectedError):
await coresys.dbus.agent.apparmor.load_profile(
Path("/data/apparmor/profile"), Path("/data/apparmor/cache")
)
await coresys.dbus.agent.connect(coresys.dbus.bus)
dbus.clear()
assert (
await coresys.dbus.agent.apparmor.load_profile(
Path("/data/apparmor/profile"), Path("/data/apparmor/cache")
)
is None
)
assert dbus == ["/io/hass/os/AppArmor-io.hass.os.AppArmor.LoadProfile"]
async def test_dbus_osagent_apparmor_unload(coresys: CoreSys, dbus: list[str]):
"""Unload AppArmor Profile on host."""
with pytest.raises(DBusNotConnectedError):
await coresys.dbus.agent.apparmor.unload_profile(
Path("/data/apparmor/profile"), Path("/data/apparmor/cache")
)
await coresys.dbus.agent.connect(coresys.dbus.bus)
dbus.clear()
assert (
await coresys.dbus.agent.apparmor.unload_profile(
Path("/data/apparmor/profile"), Path("/data/apparmor/cache")
)
is None
)
assert dbus == ["/io/hass/os/AppArmor-io.hass.os.AppArmor.UnloadProfile"]