feat: declare and execute SCUM guided installs
This commit is contained in:
@@ -64,3 +64,15 @@ func TestCoreServiceSavesDraftDeploymentRedactsReadsAndDispatchesOnlyToCompatibl
|
||||
t.Fatalf("expected safe dispatch evidence, view=%+v err=%v", view, err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMergeDeploymentPreservesOmittedShellAndClearsOnlyExplicitFields(t *testing.T) {
|
||||
current := domain.ServerDeploymentDefinition{Mode: domain.ServerDeploymentModeCustom, ServerRoot: "/srv/game", StartCommand: "./start", StopCommand: "./stop", Shell: domain.ServerCommandShellCmd}
|
||||
preserved := mergeDeploymentDefinition(current, domain.ServerDeploymentUpdate{Mode: domain.ServerDeploymentModeCustom})
|
||||
if preserved.Shell != domain.ServerCommandShellCmd || preserved.StopCommand != "./stop" {
|
||||
t.Fatalf("omitted protected fields must be preserved: %+v", preserved)
|
||||
}
|
||||
cleared := mergeDeploymentDefinition(current, domain.ServerDeploymentUpdate{Mode: domain.ServerDeploymentModeCustom, ClearFields: []string{"stopCommand", "shell"}})
|
||||
if cleared.StopCommand != "" || cleared.Shell != domain.ServerCommandShellNone || cleared.StartCommand != "./start" {
|
||||
t.Fatalf("only explicitly cleared fields may be removed: %+v", cleared)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user