diff --git a/pkg/getter/httpgetter_test.go b/pkg/getter/httpgetter_test.go index c42a67d2b..bc9c4f685 100644 --- a/pkg/getter/httpgetter_test.go +++ b/pkg/getter/httpgetter_test.go @@ -679,12 +679,11 @@ func TestHTTPTransportOption(t *testing.T) { } } -// 🔥 NEW TEST: Verify helm-session header is added to requests func TestHTTPGetterSessionHeader(t *testing.T) { - var capturedHeader string + var capturedHeaders []string srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - capturedHeader = r.Header.Get(helmSessionHeader) + capturedHeaders = append(capturedHeaders, r.Header.Get(helmSessionHeader)) w.WriteHeader(http.StatusOK) })) defer srv.Close() @@ -694,12 +693,25 @@ func TestHTTPGetterSessionHeader(t *testing.T) { t.Fatal(err) } - _, err = g.Get(srv.URL) - if err != nil { + // First request + if _, err := g.Get(srv.URL); err != nil { + t.Fatal(err) + } + + // Second request (to verify persistence) + if _, err := g.Get(srv.URL); err != nil { t.Fatal(err) } - if capturedHeader == "" { + if len(capturedHeaders) != 2 { + t.Fatalf("expected 2 requests, got %d", len(capturedHeaders)) + } + + if capturedHeaders[0] == "" { t.Fatalf("expected %s header to be set, but it was empty", helmSessionHeader) } + + if capturedHeaders[0] != capturedHeaders[1] { + t.Errorf("expected session ID to be reused, but got %s and %s", capturedHeaders[0], capturedHeaders[1]) + } }