Pulse/internal/api/httptest_ipv4_test.go
2026-03-18 16:06:30 +00:00

40 lines
832 B
Go

package api
import (
"crypto/tls"
"net"
"net/http"
"net/http/httptest"
"testing"
)
func newIPv4HTTPServer(t *testing.T, handler http.Handler) *httptest.Server {
t.Helper()
ln, err := net.Listen("tcp4", "127.0.0.1:0")
if err != nil {
t.Skipf("cannot listen on tcp4 loopback (tests require local sockets): %v", err)
}
srv := &httptest.Server{
Listener: ln,
Config: &http.Server{Handler: handler},
}
srv.Start()
return srv
}
func newIPv4TLSServer(t *testing.T, handler http.Handler) *httptest.Server {
t.Helper()
ln, err := net.Listen("tcp4", "127.0.0.1:0")
if err != nil {
t.Skipf("cannot listen on tcp4 loopback (tests require local sockets): %v", err)
}
srv := &httptest.Server{
Listener: ln,
Config: &http.Server{Handler: handler},
TLS: &tls.Config{},
}
srv.StartTLS()
return srv
}