package apply import "testing" // An apply that moved what root controls asks for a new search for setuid programs (novox/hq issue 361); one // that moved nothing of it does not. func TestAnApplyMovesRootThroughAnAccountAPackageAnActionOrSudosRules(t *testing.T) { for _, c := range []struct { o Outcome want bool }{ {Outcome{Type: "user", Target: "nox", Action: "created"}, true}, {Outcome{Type: "user", Target: "nox", Action: "unchanged"}, false}, {Outcome{Type: "package", Target: "telegram", Action: "created"}, true}, {Outcome{Type: "package", Target: "telegram", Action: "removed"}, true}, {Outcome{Type: "action", Target: "setup", Action: "updated"}, true}, {Outcome{Type: "file", Target: "/etc/sudoers.d/mesh", Action: "updated"}, true}, {Outcome{Type: "file", Target: "/etc/group", Action: "corrected"}, true}, {Outcome{Type: "directory", Target: "/etc/polkit-1/rules.d", Action: "created"}, true}, {Outcome{Type: "file", Target: "/etc/sudoers.dx", Action: "updated"}, false}, {Outcome{Type: "file", Target: "/etc/nginx/nginx.conf", Action: "updated"}, false}, {Outcome{Type: "container", Target: "plex", Action: "updated"}, false}, {Outcome{Type: "package", Target: "x", Action: heldStill}, false}, {Outcome{Type: "action", Target: "setup", Action: "skipped"}, false}, {Outcome{Type: "user", Target: "nox", Action: "forgotten"}, false}, {Outcome{Type: "package", Target: "x", Action: "kept"}, false}, } { if got := MovesRoot([]Outcome{c.o}); got != c.want { t.Errorf("%+v: moves root %v, want %v", c.o, got, c.want) } } }