refactor(review): shell current-thread runtime + единый дефолт; PowerClient parse_enum; тесты на ipc::names

- shell: new_current_thread рантайм (без пула на холодном старте, #11); единый Initial::default().
- PowerClient: generic parse_enum (убрал 3 копии map_err).
- ipc::names::power::MOCK_IFACE; интеграционные тесты — через ipc::names (не хардкод).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Alexander <akotenev2003@gmail.com>
This commit is contained in:
2026-06-24 14:36:50 +03:00
parent 69beaad596
commit bfe490e899
5 changed files with 29 additions and 22 deletions
@@ -2,7 +2,7 @@
//! Проверяет state по шине и fake-ACC: `dev.PowerMock1.SetAcc` → сигнал `Power1.AccChanged`.
use futures_util::StreamExt;
use shturman_ipc::types::PowerState;
use shturman_ipc::{names, types::PowerState};
use shturman_power::PowerService;
use shturman_sdk::PowerClient;
@@ -16,15 +16,15 @@ async fn power_state_and_fake_acc() {
let server = zbus::Connection::session().await.unwrap();
server
.object_server()
.at("/ru/shturman/Power", svc)
.at(names::power::PATH, svc)
.await
.unwrap();
server
.object_server()
.at("/ru/shturman/Power", mock)
.at(names::power::PATH, mock)
.await
.unwrap();
server.request_name("ru.shturman.Power").await.unwrap();
server.request_name(names::power::NAME).await.unwrap();
let client_conn = zbus::Connection::session().await.unwrap();
let power = PowerClient::new(&client_conn).await.unwrap();
@@ -36,9 +36,9 @@ async fn power_state_and_fake_acc() {
// dev.PowerMock1.SetAcc(false) сырым D-Bus-вызовом
client_conn
.call_method(
Some("ru.shturman.Power"),
"/ru/shturman/Power",
Some("ru.shturman.dev.PowerMock1"),
Some(names::power::NAME),
names::power::PATH,
Some(names::power::MOCK_IFACE),
"SetAcc",
&(false,),
)
@@ -3,6 +3,7 @@
use futures_util::StreamExt;
use shturman_common::Layout;
use shturman_ipc::names;
use shturman_sdk::SettingsClient;
use shturman_settings::{store::Store, SettingsService};
use zbus::zvariant::Value;
@@ -17,10 +18,10 @@ async fn settings_round_trip_and_changed() {
let server = zbus::Connection::session().await.unwrap();
server
.object_server()
.at("/ru/shturman/Settings", SettingsService::new(store))
.at(names::settings::PATH, SettingsService::new(store))
.await
.unwrap();
server.request_name("ru.shturman.Settings").await.unwrap();
server.request_name(names::settings::NAME).await.unwrap();
// клиент на отдельном соединении
let client_conn = zbus::Connection::session().await.unwrap();