30 lines
1.1 KiB
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())
|
|
}
|