@@ -0,0 +1,70 @@
|
||||
"""Тесты полной настройки киоска Pi."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
|
||||
from app.services.kiosk_full_setup_service import (
|
||||
apply_full_kiosk_setup,
|
||||
get_full_kiosk_setup_status,
|
||||
)
|
||||
|
||||
|
||||
class KioskFullSetupTests(unittest.TestCase):
|
||||
@patch("app.services.kiosk_full_setup_service.get_kiosk_boot_status")
|
||||
@patch("app.services.kiosk_full_setup_service.get_pi_platform_setup_status")
|
||||
def test_status_ready(self, mock_pi: object, mock_kiosk: object) -> None:
|
||||
mock_pi.return_value = {
|
||||
"running_as_root": True,
|
||||
"platform_ready": True,
|
||||
}
|
||||
mock_kiosk.return_value = {
|
||||
"kiosk_enabled": True,
|
||||
"kiosk_mode": "system_labwc",
|
||||
"chromium_found": True,
|
||||
"gui_user": "komton",
|
||||
}
|
||||
st = get_full_kiosk_setup_status({})
|
||||
self.assertTrue(st["full_setup_ready"])
|
||||
|
||||
@patch(
|
||||
"app.services.kiosk_full_setup_service.get_full_kiosk_setup_status",
|
||||
return_value={"full_setup_ready": False},
|
||||
)
|
||||
@patch("app.services.kiosk_full_setup_service.schedule_system_reboot")
|
||||
@patch("app.services.kiosk_full_setup_service.set_kiosk_boot")
|
||||
@patch("app.services.kiosk_full_setup_service.apply_pi_platform_setup")
|
||||
@patch("app.services.kiosk_full_setup_service._is_root", return_value=True)
|
||||
def test_apply_ok(
|
||||
self,
|
||||
_root: object,
|
||||
mock_pi: object,
|
||||
mock_kiosk: object,
|
||||
mock_reboot: object,
|
||||
_status: object,
|
||||
) -> None:
|
||||
mock_pi.return_value = {"ok": True, "message": "pi ok"}
|
||||
mock_kiosk.return_value = {
|
||||
"ok": True,
|
||||
"message": "kiosk ok",
|
||||
"target_url": "http://localhost/scales",
|
||||
}
|
||||
mock_reboot.return_value = {"scheduled": True, "message": "reboot"}
|
||||
|
||||
cfg = {"WESP_FULL_SETUP_REBOOT_DELAY_SEC": 10}
|
||||
r = apply_full_kiosk_setup(cfg, hide_desktop=True)
|
||||
self.assertTrue(r.get("ok"))
|
||||
self.assertEqual(r.get("steps_completed"), ["pi_platform", "kiosk", "reboot"])
|
||||
mock_pi.assert_called_once()
|
||||
mock_kiosk.assert_called_once()
|
||||
mock_reboot.assert_called_once()
|
||||
|
||||
@patch("app.services.kiosk_full_setup_service._is_root", return_value=False)
|
||||
def test_apply_requires_root(self, _root: object) -> None:
|
||||
r = apply_full_kiosk_setup({})
|
||||
self.assertFalse(r.get("ok"))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user