test: persistence e2e and registration-relogin e2e; lint clean

Adds a lib target (soulseek_rs_tui) exposing cli/models/persist so
integration tests can drive the persistence pipeline: state and config
survive a simulated restart through the real files, with the incomplete
download flagged for auto-resume. The lib e2e suite gains a
register-then-relogin test against soulfind proving the stored-credential
flow's server assumptions. cargo clippy --all-targets and cargo fmt are
clean.
This commit is contained in:
michel
2026-07-20 20:20:54 +02:00
parent c945bd5d5e
commit 36819d4c42
14 changed files with 203 additions and 66 deletions
+6 -10
View File
@@ -200,19 +200,15 @@ fn run_default_tui(
let enable_listen = !resolved.disable_listener;
let listen_port = resolved.listener_port;
let make_settings = move |username: String, password: String| {
ClientSettings {
let make_settings =
move |username: String, password: String| ClientSettings {
username,
password,
server_address: PeerAddress::new(
server_host.clone(),
server_port,
),
server_address: PeerAddress::new(server_host.clone(), server_port),
enable_listen,
listen_port,
shared_directory: shared_directory.clone(),
}
};
};
// Clear screen and enable mouse capture before initializing TUI
let _ =
@@ -243,8 +239,8 @@ fn run_default_tui(
persist_credentials(&outcome, config_path, file_config, &secret_store);
let store = persist::paths::state_dir()
.map(persist::state::StateStore::new);
let store =
persist::paths::state_dir().map(persist::state::StateStore::new);
launch_main_tui(
terminal,