first commit
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package domain
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestCopyHelpersIsolateSlices(t *testing.T) {
|
||||
plugin := GamePlugin{
|
||||
ID: "server.scum",
|
||||
RequiredRunCapabilities: []string{"process.start", "logs.read"},
|
||||
DeclaredPermissions: []string{"server.logs.read"},
|
||||
Pages: []GamePluginPage{
|
||||
{Key: "logs", Permissions: []string{"server.logs.read"}},
|
||||
},
|
||||
AIPurposes: []string{"logs.diagnose"},
|
||||
}
|
||||
|
||||
copy := CopyGamePlugin(plugin)
|
||||
copy.RequiredRunCapabilities[0] = "files.read"
|
||||
copy.DeclaredPermissions[0] = "ai.invoke"
|
||||
copy.Pages[0].Permissions[0] = "ai.invoke"
|
||||
copy.AIPurposes[0] = "config.suggest"
|
||||
|
||||
if plugin.RequiredRunCapabilities[0] != "process.start" {
|
||||
t.Fatalf("expected copied plugin slice mutation not to affect original: %+v", plugin.RequiredRunCapabilities)
|
||||
}
|
||||
if plugin.DeclaredPermissions[0] != "server.logs.read" || plugin.Pages[0].Permissions[0] != "server.logs.read" || plugin.AIPurposes[0] != "logs.diagnose" {
|
||||
t.Fatalf("expected copied plugin registry metadata mutation not to affect original: %+v", plugin)
|
||||
}
|
||||
|
||||
provider := AIProvider{ID: "ai.openai", Models: []string{"gpt-4.1"}}
|
||||
providerCopy := CopyAIProvider(provider)
|
||||
providerCopy.Models[0] = "gpt-4.1-mini"
|
||||
|
||||
if provider.Models[0] != "gpt-4.1" {
|
||||
t.Fatalf("expected copied provider slice mutation not to affect original: %+v", provider.Models)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user