Add explicit vocabulary and named operation contexts

This commit is contained in:
2026-10-29 22:41:38 +02:00
parent ede45d224a
commit 8413b382b1
14 changed files with 344 additions and 241 deletions
+10 -13
View File
@@ -13,9 +13,9 @@ use crossterm::event::KeyCode;
use wireguard_admin::app::{FirstIssueAttempt, RestartChoice, RestartStage};
use wireguard_admin::backup::BackupReason;
use wireguard_admin::config::{ResolvedSettings, SettingsFile};
use wireguard_admin::domain::{ClientStates, PublicKey, RuntimeObservation, Snapshot};
use wireguard_admin::domain::{ApplyStatus, ClientStates, PublicKey, Snapshot};
use wireguard_admin::persistence::SavedStore;
use wireguard_admin::runtime::{InterfaceObservation, RuntimeObservation as Statistics};
use wireguard_admin::runtime::{InterfaceObservation, RuntimeObservation};
use wireguard_admin::tui::events::{
ApplicationWorker, CommandResult, FirstIssueStatus, QrStatus, SecretText, SensitiveCommand,
ShutdownProgress, StatisticsReader, UiCommand, WorkerConfig, WorkerEvent,
@@ -106,9 +106,9 @@ fn saved_peer_projection_counts_legacy_peers_without_inventing_managed_state() {
struct CountingStatistics(Arc<AtomicUsize>);
impl StatisticsReader for CountingStatistics {
fn read(&mut self, _interface: &str, _timeout: Duration) -> Statistics {
fn read(&mut self, _interface: &str, _timeout: Duration) -> RuntimeObservation {
self.0.fetch_add(1, Ordering::SeqCst);
Statistics {
RuntimeObservation {
observed_at: None,
interface: InterfaceObservation::Unavailable,
}
@@ -116,8 +116,8 @@ impl StatisticsReader for CountingStatistics {
}
fn worker(fixture: &Fixture, reader: CountingStatistics) -> ApplicationWorker {
let states = ClientStates::new(Snapshot::default(), None, RuntimeObservation::Unknown)
.expect("empty states");
let states =
ClientStates::new(Snapshot::default(), None, ApplyStatus::Unknown).expect("empty states");
let app = wireguard_admin::app::Application::open(fixture.store.clone(), states)
.expect("application opens on synthetic files");
ApplicationWorker::spawn(
@@ -166,7 +166,7 @@ fn terminal_pty_smoke() {
const CHILD: &str = "WG_ADMIN_SYNTHETIC_PTY_CHILD";
if std::env::var_os(CHILD).is_some() {
let fixture = fixture();
let states = ClientStates::new(Snapshot::default(), None, RuntimeObservation::Unknown)
let states = ClientStates::new(Snapshot::default(), None, ApplyStatus::Unknown)
.expect("empty states");
let app = wireguard_admin::app::Application::open(fixture.store, states)
.expect("synthetic application opens");
@@ -813,10 +813,7 @@ fn worker_backup_restore_preview_cancel_and_confirm_are_separate_saved_operation
match wait_for(&mut worker, restore.request_id) {
WorkerEvent::OperationFinished { result, view, .. } => {
assert!(matches!(result.unwrap(), CommandResult::Restored(_)));
assert_eq!(
view.applied,
wireguard_admin::tui::state::AppliedState::Unknown
);
assert_eq!(view.applied, wireguard_admin::domain::ApplyStatus::Unknown);
assert!(!view.has_draft);
}
_ => unreachable!(),
@@ -916,8 +913,8 @@ fn worker_commit_stops_at_mandatory_backup_failure_and_keeps_draft_and_saved_byt
#[test]
fn worker_restore_refreshes_operational_allocation_settings_before_next_create() {
let fixture = fixture();
let states = ClientStates::new(Snapshot::default(), None, RuntimeObservation::Unknown)
.expect("empty states");
let states =
ClientStates::new(Snapshot::default(), None, ApplyStatus::Unknown).expect("empty states");
let mut original_app = wireguard_admin::app::Application::open(fixture.store.clone(), states)
.expect("original application opens");
original_app