package lease import ( "github.com/carlosframework/platform/internal/release" "testing" ) func TestExecutionStoreUsesExistingConditionalTransport(t *testing.T) { t.Setenv("AWS_ACCESS_KEY_ID", "test") t.Setenv("AWS_SECRET_ACCESS_KEY", "test") t.Setenv("AWS_EC2_METADATA_DISABLED", "true") t.Setenv("AWS_CONFIG_FILE", t.TempDir()+"/absent") t.Setenv("AWS_SHARED_CREDENTIALS_FILE", t.TempDir()+"/absent") t.Setenv("CARLOS_S3_ENDPOINT", "https://objects.invalid") if _, err := ExecutionStore(t.Context(), "", "eu-west-1"); err == nil { t.Fatal("empty bucket accepted") } store, err := ExecutionStore(t.Context(), "control", "eu-west-1") if err != nil { t.Fatal(err) } s, ok := store.(*release.S3Store) if !ok || s.Bucket != "control" { t.Fatal("wrong store") } opts := s.Client.Options() if opts.Region != "eu-west-1" || opts.BaseEndpoint == nil || *opts.BaseEndpoint != "https://objects.invalid" || !opts.UsePathStyle { t.Fatalf("lost leaser configuration: %+v", opts) } if _, ok := store.(release.ConditionalDeleter); !ok { t.Fatal("no conditional release") } }