mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-04-28 19:41:17 +00:00
52 lines
1.1 KiB
Go
52 lines
1.1 KiB
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
"testing"
|
|
)
|
|
|
|
func TestMultiTenantPersistence_InvalidOrgIDsRejected(t *testing.T) {
|
|
baseDir := t.TempDir()
|
|
mtp := NewMultiTenantPersistence(baseDir)
|
|
|
|
invalidIDs := []string{
|
|
"",
|
|
".",
|
|
"..",
|
|
"../bad",
|
|
"bad/..",
|
|
"bad/../evil",
|
|
}
|
|
|
|
for _, orgID := range invalidIDs {
|
|
if _, err := mtp.GetPersistence(orgID); err == nil {
|
|
t.Fatalf("expected error for orgID %q", orgID)
|
|
}
|
|
if mtp.OrgExists(orgID) {
|
|
t.Fatalf("OrgExists should be false for orgID %q", orgID)
|
|
}
|
|
}
|
|
|
|
if _, err := os.Stat(filepath.Join(baseDir, "orgs")); err == nil {
|
|
t.Fatalf("unexpected orgs directory created for invalid org IDs")
|
|
}
|
|
}
|
|
|
|
func TestMultiTenantPersistence_GetPersistence_CreatesOrgDir(t *testing.T) {
|
|
baseDir := t.TempDir()
|
|
mtp := NewMultiTenantPersistence(baseDir)
|
|
|
|
if _, err := mtp.GetPersistence("acme"); err != nil {
|
|
t.Fatalf("GetPersistence(acme) failed: %v", err)
|
|
}
|
|
|
|
orgDir := filepath.Join(baseDir, "orgs", "acme")
|
|
info, err := os.Stat(orgDir)
|
|
if err != nil {
|
|
t.Fatalf("expected org dir to exist: %v", err)
|
|
}
|
|
if !info.IsDir() {
|
|
t.Fatalf("expected org dir to be a directory")
|
|
}
|
|
}
|