package s3 import ( "fmt" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/s3" "net/http" "reflect" "testing" "wallet-system/internal/conf" ) func Test_Testing_Aws_S3(t *testing.T) { // 创建自定义的 AWS 配置 awsConfig := &aws.Config{ Region: aws.String("ap-southeast-1"), // 设置 AWS 区域 Credentials: credentials.NewStaticCredentials( "AKIAUKMLSNHYAP7EOBDE", // 替换为您的访问密钥 ID "OW1EcVvbuJ2ZDW2X8G1m9K5XIN/KlDgwxNoSOHR5", // 替换为您的访问密钥 ""), // 提供一个可选的令牌 (token),如果您使用 MFA Endpoint: aws.String("s3.ap-southeast-1.amazonaws.com"), // 替换为您的自定义别名 DisableSSL: aws.Bool(false), // 通过 HTTPS 进行连接 S3ForcePathStyle: aws.Bool(true), // 使用路径样式的 URL HTTPClient: &http.Client{}, // 自定义 HTTP 客户端,可选 } // 创建 AWS 会话 sess, err := session.NewSession(awsConfig) if err != nil { fmt.Println("创建 AWS 会话时出错:", err) return } // 创建 S3 服务客户端 svc := s3.New(sess) // 列出 S3 存储桶 result, err := svc.ListBuckets(nil) if err != nil { fmt.Println("列出存储桶时出错:", err) return } // 输出结果 fmt.Println("存储桶列表:") for _, bucket := range result.Buckets { fmt.Println(*bucket.Name) } } func TestNewS3(t *testing.T) { type args struct { a *conf.Aws } tests := []struct { name string args args want *S3Client wantErr bool }{ // TODO: Add test cases. } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { got, err := NewS3(tt.args.a) if (err != nil) != tt.wantErr { t.Errorf("NewS3() error = %v, wantErr %v", err, tt.wantErr) return } if !reflect.DeepEqual(got, tt.want) { t.Errorf("NewS3() got = %v, want %v", got, tt.want) } }) } }