package executor import ( "testing" "time" "github.com/router-for-me/CLIProxyAPI/v6/internal/config" ) func TestApplyTransportDefaults_FromConfig(t *testing.T) { cfg := &config.Config{} cfg.HTTPTransport.MaxIdleConns = 321 cfg.HTTPTransport.MaxIdleConnsPerHost = 33 cfg.HTTPTransport.MaxConnsPerHost = 44 cfg.HTTPTransport.IdleConnTimeoutSeconds = 17 tr := buildProxyTransport("http://127.0.0.1:8080") if tr == nil { t.Fatal("expected proxy transport") } applyTransportDefaults(tr, cfg) if tr.MaxIdleConns != 321 { t.Fatalf("MaxIdleConns=%d", tr.MaxIdleConns) } if tr.MaxIdleConnsPerHost != 33 { t.Fatalf("MaxIdleConnsPerHost=%d", tr.MaxIdleConnsPerHost) } if tr.MaxConnsPerHost != 44 { t.Fatalf("MaxConnsPerHost=%d", tr.MaxConnsPerHost) } if tr.IdleConnTimeout != 17*time.Second { t.Fatalf("IdleConnTimeout=%s", tr.IdleConnTimeout) } } func TestApplyTransportDefaults_Defaults(t *testing.T) { tr := buildProxyTransport("http://127.0.0.1:8080") if tr == nil { t.Fatal("expected proxy transport") } applyTransportDefaults(tr, nil) if tr.MaxIdleConns != 100 || tr.MaxIdleConnsPerHost != 10 { t.Fatalf("unexpected defaults: %d/%d", tr.MaxIdleConns, tr.MaxIdleConnsPerHost) } if tr.IdleConnTimeout != 90*time.Second { t.Fatalf("unexpected idle timeout: %s", tr.IdleConnTimeout) } if !tr.ForceAttemptHTTP2 { t.Fatal("ForceAttemptHTTP2 should be enabled") } }