package minio import ( "testing" "time" "github.com/stretchr/testify/assert" ) // TC-1248: parseDir 模板替换 {yyyy}/{mm}/{dd} func TestParseDir(t *testing.T) { now := time.Now() expectedYear := now.Format("2006") expectedMonth := now.Format("01") expectedDay := now.Format("02") cases := []struct { name string template string expected string }{ {"full_date", "avatar/{yyyy}/{mm}/{dd}", "avatar/" + expectedYear + "/" + expectedMonth + "/" + expectedDay}, {"year_only", "files/{yyyy}", "files/" + expectedYear}, {"no_template", "static/path", "static/path"}, {"empty", "", ""}, {"repeated", "{yyyy}-{yyyy}", expectedYear + "-" + expectedYear}, } for _, tc := range cases { t.Run(tc.name, func(t *testing.T) { result := parseDir(tc.template) assert.Equal(t, tc.expected, result) }) } } // TC-1242: fileType 为空 func TestMinioUpload_EmptyFileType(t *testing.T) { // 直接测试 logic 的 fileType 校验逻辑 // 由于 MinioClient 是具体类型,这里用 handler 级别测试覆盖 // 此处仅验证 parseDir 行为 t.Skip("MinIO logic 依赖真实 MinioClient,完整逻辑由 handler_test 覆盖") }