Files
go-omni/storage/oss/upload_test.go

30 lines
1.1 KiB
Go

package oss
import (
"context"
"net/http/httptest"
"testing"
"time"
"git.yuntuo.hk/k2safe/go-omni/internal/storagefixture"
"git.yuntuo.hk/k2safe/go-omni/storage/storagetest"
sdk "github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
)
func TestUploadProtocol(t *testing.T) {
server := httptest.NewTLSServer(storagefixture.MultipartHandler())
defer server.Close()
cfg := sdk.LoadDefaultConfig().WithRegion("cn-hangzhou").WithEndpoint(server.URL).WithUsePathStyle(true).WithCredentialsProvider(credentials.NewStaticCredentialsProvider("fixtureAccess", "fixtureSecret")).WithHttpClient(server.Client()).WithSignatureVersion(sdk.SignatureVersionV4)
missing, _ := New(sdk.NewClient(cfg), "testbucket", 6<<20)
if _, err := missing.PresignPut(context.Background(), "file", 5, "text/plain", time.Minute); err == nil {
t.Fatal("unsigned length accepted")
}
cfg.WithAdditionalHeaders([]string{"content-length"})
s, err := New(sdk.NewClient(cfg), "testbucket", 6<<20)
if err != nil {
t.Fatal(err)
}
storagetest.RunUploads(t, s, server.Client())
}