71 lines
2.0 KiB
Go
71 lines
2.0 KiB
Go
package aliyun
|
|
|
|
import (
|
|
"encoding/json"
|
|
"testing"
|
|
|
|
green "github.com/alibabacloud-go/green-20220302/v3/client"
|
|
"github.com/alibabacloud-go/tea/dara"
|
|
"github.com/tinode/chat/server/store/types"
|
|
)
|
|
|
|
func TestBuildOSSServiceParameters(t *testing.T) {
|
|
got, err := buildOSSServiceParameters(OSSObject{
|
|
BucketName: "im-oss-t1",
|
|
ObjectName: "tenants/1/2026/08/file",
|
|
RegionID: "cn-shenzhen",
|
|
DataID: "task-1",
|
|
})
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
var params map[string]string
|
|
if err := json.Unmarshal([]byte(got), ¶ms); err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
for key, want := range map[string]string{
|
|
"ossBucketName": "im-oss-t1",
|
|
"ossObjectName": "tenants/1/2026/08/file",
|
|
"ossRegionId": "cn-shenzhen",
|
|
"dataId": "task-1",
|
|
} {
|
|
if params[key] != want {
|
|
t.Fatalf("params[%s] = %q, want %q", key, params[key], want)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestStatusFromRiskLevel(t *testing.T) {
|
|
cases := map[string]string{
|
|
"": types.FileReviewStatusRunning,
|
|
"none": types.FileReviewStatusClean,
|
|
"low": types.FileReviewStatusClean,
|
|
"medium": types.FileReviewStatusRisky,
|
|
"high": types.FileReviewStatusRisky,
|
|
}
|
|
for input, want := range cases {
|
|
if got := statusFromRiskLevel(input); got != want {
|
|
t.Fatalf("statusFromRiskLevel(%q) = %q, want %q", input, got, want)
|
|
}
|
|
}
|
|
}
|
|
|
|
func TestLabelsFromFileResult(t *testing.T) {
|
|
got := labelsFromFileResult(&green.DescribeFileModerationResultResponseBodyData{
|
|
PageResult: []*green.DescribeFileModerationResultResponseBodyDataPageResult{
|
|
{ImageResult: []*green.DescribeFileModerationResultResponseBodyDataPageResultImageResult{
|
|
{LabelResult: []*green.DescribeFileModerationResultResponseBodyDataPageResultImageResultLabelResult{
|
|
{Label: dara.String("porn")},
|
|
{Label: dara.String("porn")},
|
|
}},
|
|
}},
|
|
{TextResult: []*green.DescribeFileModerationResultResponseBodyDataPageResultTextResult{
|
|
{Labels: dara.String("violence,ad")},
|
|
}},
|
|
},
|
|
})
|
|
if len(got) != 3 || got[0] != "porn" || got[1] != "violence" || got[2] != "ad" {
|
|
t.Fatalf("labelsFromFileResult = %#v", got)
|
|
}
|
|
}
|