Files
MeBox/internal/service/storage_config_logout_test.go
T
2026-06-13 12:08:57 +08:00

40 lines
1.2 KiB
Go

package service
import "testing"
func TestStorageConfigLogoutClearsCloudCredentialsOnly(t *testing.T) {
_, storage := newStorageUploadTestService(t)
enabled := true
if _, err := storage.Save(t.Context(), StorageInput{
Type: "openlist",
Config: map[string]any{
"server": "http://openlist.test",
"url": "http://openlist.test/dav/",
"username": "user",
"password": "pass",
"token": "token",
"timeout_seconds": "120",
"force_302": "true",
},
Enabled: &enabled,
}); err != nil {
t.Fatalf("save storage: %v", err)
}
view, err := storage.Logout(t.Context(), "openlist")
if err != nil {
t.Fatalf("logout: %v", err)
}
if view.Enabled {
t.Fatal("storage should be disabled after logout")
}
for _, key := range []string{"username", "password", "token", "force_302", "force_proxy"} {
if _, ok := view.Config[key]; ok {
t.Fatalf("logout should clear %s, config = %#v", key, view.Config)
}
}
if view.Config["server"] != "http://openlist.test" || view.Config["url"] != "http://openlist.test/dav/" || view.Config["timeout_seconds"] != "120" {
t.Fatalf("logout should keep non-secret connection hints, config = %#v", view.Config)
}
}