Add native doctor auth diagnostics
ci / test (push) Has been cancelled
ci / remote-bench (push) Has been cancelled

This commit is contained in:
DuProcess
2026-06-13 22:01:27 -04:00
parent 6d1e9d3065
commit 0575cf678f
4 changed files with 325 additions and 6 deletions
+31
View File
@@ -574,6 +574,37 @@ fn native_attach_only_smoke_uses_ssh_agent() {
assert!(stderr.contains("terminal_ready"), "stderr={stderr}");
}
#[test]
fn native_doctor_checks_auth_without_opening_terminal() {
let dir = tempfile::tempdir().unwrap();
let port = free_udp_port();
let config = write_server_config(&dir, port);
write_native_client_auth(&dir, &config);
let mut server = start_server(&dir, &config);
let client = env!("CARGO_BIN_EXE_dosh-client");
let output = Command::new(client)
.arg("doctor")
.arg("--auth")
.arg("native")
.arg("--dosh-host")
.arg("127.0.0.1")
.arg("--dosh-port")
.arg(port.to_string())
.arg("local")
.env("HOME", dir.path())
.output()
.unwrap();
let _ = server.kill();
let _ = server.wait();
let stdout = String::from_utf8_lossy(&output.stdout);
let stderr = String::from_utf8_lossy(&output.stderr);
assert!(output.status.success(), "stdout={stdout}\nstderr={stderr}");
assert!(stdout.contains("[ok] native udp"), "stdout={stdout}");
assert!(stdout.contains("[ok] native auth"), "stdout={stdout}");
assert!(stdout.contains("[ok] forwarding policy"), "stdout={stdout}");
}
#[test]
fn native_local_forward_echo_smoke() {
let dir = tempfile::tempdir().unwrap();