init
This commit is contained in:
45
internal/server/http_client_test.go
Normal file
45
internal/server/http_client_test.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/any-hub/any-hub/internal/config"
|
||||
)
|
||||
|
||||
func TestNewUpstreamClientUsesConfigTimeout(t *testing.T) {
|
||||
cfg := &config.Config{
|
||||
Global: config.GlobalConfig{
|
||||
UpstreamTimeout: config.Duration(45 * time.Second),
|
||||
},
|
||||
}
|
||||
|
||||
client := NewUpstreamClient(cfg)
|
||||
if client.Timeout != 45*time.Second {
|
||||
t.Fatalf("expected timeout 45s, got %s", client.Timeout)
|
||||
}
|
||||
}
|
||||
|
||||
func TestCopyHeadersSkipsHopByHop(t *testing.T) {
|
||||
src := http.Header{}
|
||||
src.Add("Connection", "keep-alive")
|
||||
src.Add("Keep-Alive", "timeout=5")
|
||||
src.Add("X-Test-Header", "1")
|
||||
src.Add("x-test-header", "2")
|
||||
|
||||
dst := http.Header{}
|
||||
CopyHeaders(dst, src)
|
||||
|
||||
if _, exists := dst["Connection"]; exists {
|
||||
t.Fatalf("connection header should not be copied")
|
||||
}
|
||||
if _, exists := dst["Keep-Alive"]; exists {
|
||||
t.Fatalf("keep-alive header should not be copied")
|
||||
}
|
||||
|
||||
got := dst.Values("X-Test-Header")
|
||||
if len(got) != 2 {
|
||||
t.Fatalf("expected 2 values, got %v", got)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user