Files
goclaw/internal/sandbox/docker_cache_key_test.go
Duy /zuey/andGitHub 4ed4eb9509 fix(sandbox): isolate tenant workspace mounts
Squash merge PR #100 after resolving changelog conflict with current dev. PR CI run 26703558537 passed release-versioning, go, and web.
2026-05-31 11:55:10 +07:00

31 lines
892 B
Go

package sandbox
import "testing"
func TestDockerCacheKeyIncludesWorkspaceAndConfig(t *testing.T) {
cfg := DefaultConfig()
key := "agent:default:session"
first := dockerCacheKey(key, "/srv/goclaw/workspace/tenant-a", cfg)
second := dockerCacheKey(key, "/srv/goclaw/workspace/tenant-b", cfg)
if first == second {
t.Fatalf("dockerCacheKey reused key for different workspaces: %q", first)
}
ro := cfg
ro.WorkspaceAccess = AccessRO
third := dockerCacheKey(key, "/srv/goclaw/workspace/tenant-a", ro)
if first == third {
t.Fatalf("dockerCacheKey reused key for different workspace access: %q", first)
}
}
func TestDockerCacheKeyPreservesEmptyWorkspaceCompatibility(t *testing.T) {
cfg := DefaultConfig()
key := "agent:default:session"
if got := dockerCacheKey(key, "", cfg); got != key {
t.Fatalf("dockerCacheKey empty workspace = %q, want original key %q", got, key)
}
}