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) } }