mirror of
https://github.com/truewhile/MeBox.git
synced 2026-09-29 11:36:36 +08:00
40 lines
1.2 KiB
Go
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)
|
|
}
|
|
}
|