package storage import ( "carrotskin/pkg/config" "testing" ) // TestGetClient_NotInitialized 测试未初始化时获取存储客户端 func TestGetClient_NotInitialized(t *testing.T) { _, err := GetClient() if err == nil { t.Error("未初始化时应该返回错误") } expectedError := "存储客户端未初始化,请先调用 storage.Init()" if err.Error() != expectedError { t.Errorf("错误消息 = %q, want %q", err.Error(), expectedError) } } // TestMustGetClient_Panic 测试MustGetClient在未初始化时panic func TestMustGetClient_Panic(t *testing.T) { defer func() { if r := recover(); r == nil { t.Error("MustGetClient 应该在未初始化时panic") } }() _ = MustGetClient() } // TestInit_Storage 测试存储客户端初始化逻辑 func TestInit_Storage(t *testing.T) { cfg := config.RustFSConfig{ Endpoint: "http://localhost:9000", AccessKey: "minioadmin", SecretKey: "minioadmin", UseSSL: false, Buckets: map[string]string{ "avatars": "avatars", "textures": "textures", }, } // 验证Init函数存在且可调用 // 注意:实际连接可能失败,这是可以接受的 err := Init(cfg) if err != nil { t.Logf("Init() 返回错误(可能正常,如果存储服务未运行): %v", err) } }