40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
package s3
|
|
|
|
import (
|
|
"context"
|
|
"os"
|
|
"strconv"
|
|
"testing"
|
|
)
|
|
|
|
func TestIntegrationS3BackendHasAny(t *testing.T) {
|
|
endpoint := os.Getenv("DISTRIBUTOR_TEST_S3_ENDPOINT")
|
|
bucket := os.Getenv("DISTRIBUTOR_TEST_S3_BUCKET")
|
|
if endpoint == "" || bucket == "" {
|
|
t.Skip("DISTRIBUTOR_TEST_S3_ENDPOINT and DISTRIBUTOR_TEST_S3_BUCKET are not set")
|
|
}
|
|
forcePathStyle := true
|
|
if raw := os.Getenv("DISTRIBUTOR_TEST_S3_FORCE_PATH_STYLE"); raw != "" {
|
|
parsed, err := strconv.ParseBool(raw)
|
|
if err != nil {
|
|
t.Fatalf("parse DISTRIBUTOR_TEST_S3_FORCE_PATH_STYLE: %v", err)
|
|
}
|
|
forcePathStyle = parsed
|
|
}
|
|
backend, err := New(context.Background(), Options{
|
|
Endpoint: endpoint,
|
|
Bucket: bucket,
|
|
Prefix: os.Getenv("DISTRIBUTOR_TEST_S3_PREFIX"),
|
|
Region: os.Getenv("DISTRIBUTOR_TEST_S3_REGION"),
|
|
ForcePathStyle: forcePathStyle,
|
|
AccessKeyID: os.Getenv("DISTRIBUTOR_TEST_S3_ACCESS_KEY_ID"),
|
|
SecretAccessKey: os.Getenv("DISTRIBUTOR_TEST_S3_SECRET_ACCESS_KEY"),
|
|
})
|
|
if err != nil {
|
|
t.Fatalf("New() error = %v", err)
|
|
}
|
|
if _, err := backend.HasAny(context.Background(), ""); err != nil {
|
|
t.Fatalf("HasAny(root) error = %v", err)
|
|
}
|
|
}
|