From 6fffe7411d48b96cd4ea5fbd1cc3d461b5fe7e15 Mon Sep 17 00:00:00 2001 From: Mayuresh Nirhali Date: Mon, 8 Dec 2025 14:33:19 +0530 Subject: [PATCH] added a test case with no nil transport wrapper --- core/module/handler/stdHandler_test.go | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/core/module/handler/stdHandler_test.go b/core/module/handler/stdHandler_test.go index c5b65a6..b7215ec 100644 --- a/core/module/handler/stdHandler_test.go +++ b/core/module/handler/stdHandler_test.go @@ -151,3 +151,45 @@ func TestHttpClientConfigPerformanceValues(t *testing.T) { t.Errorf("Expected ResponseHeaderTimeout=5s, got %v", transport.ResponseHeaderTimeout) } } + +func TestNewHTTPClientWithTransportWrapper(t *testing.T) { + wrappedTransport := &mockRoundTripper{} + wrapper := &mockTransportWrapper{ + returnTransport: wrappedTransport, + } + + client := newHTTPClient(&HttpClientConfig{}, wrapper) + + if !wrapper.wrapCalled { + t.Fatal("expected transport wrapper to be invoked") + } + + if wrapper.wrappedTransport == nil { + t.Fatal("expected base transport to be passed to wrapper") + } + + if client.Transport != wrappedTransport { + t.Errorf("expected client transport to use wrapper transport") + } +} + +type mockTransportWrapper struct { + wrapCalled bool + wrappedTransport http.RoundTripper + returnTransport http.RoundTripper +} + +func (m *mockTransportWrapper) Wrap(base http.RoundTripper) http.RoundTripper { + m.wrapCalled = true + m.wrappedTransport = base + if m.returnTransport != nil { + return m.returnTransport + } + return base +} + +type mockRoundTripper struct{} + +func (m *mockRoundTripper) RoundTrip(_ *http.Request) (*http.Response, error) { + return nil, nil +}