53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
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)
|
|
}
|
|
}
|
|
|