Fix systemd service restart

This commit is contained in:
2026-10-27 21:55:59 +02:00
parent 4bb975f122
commit 86c28a35b5
5 changed files with 516 additions and 45 deletions
+23
View File
@@ -124,6 +124,29 @@ fn public_restart_preview_and_cancel_preserve_draft_and_saved_files() {
assert_eq!(app.states().applied(), &RuntimeObservation::Unknown);
}
#[test]
fn public_restart_preview_accepts_metadata_free_ipv4_and_broader_legacy_routes() {
let fixture = fixture("wg-quick@wg0.service", 30);
let server_path = fixture._root.path().join("server.conf");
let mut server = fs::read(&server_path).expect("synthetic server config reads");
server.extend_from_slice(
b"\n[Peer]\nPublicKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\nAllowedIPs = 10.20.0.19/32\n\n[Peer]\nPublicKey = AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE=\nAllowedIPs = 192.0.2.0/24, 2001:db8::/48\n",
);
fs::write(&server_path, &server).expect("install synthetic legacy peers");
let app = Application::open_from_saved_store(fixture.store.clone())
.expect("open metadata-free legacy peers");
let preview = app.preview_restart().expect("valid routes are restartable");
assert_eq!(preview.interface(), "wg0");
assert_eq!(preview.systemd_unit(), "wg-quick@wg0.service");
assert_eq!(
fs::read(server_path).expect("server config remains readable"),
server
);
assert!(app.list_backups().expect("preview is read-only").is_empty());
}
#[test]
fn restore_changes_the_settings_used_by_the_next_restart_preview() {
let fixture = fixture("wg-quick@wg0.service", 30);