修复HTTP Client相关测试用例

This commit is contained in:
GoEdgeLab
2024-04-21 15:13:45 +08:00
parent 5c97d0d3cf
commit 8b7117a63b
2 changed files with 13 additions and 5 deletions

View File

@@ -59,7 +59,7 @@ func (this *HTTPClientPool) Client(req *HTTPRequest,
return nil, errors.New("origin addr should not be empty (originId:" + strconv.FormatInt(origin.Id, 10) + ")")
}
if req.RawReq.URL == nil {
if req == nil || req.RawReq == nil || req.RawReq.URL == nil {
err = errors.New("invalid request url")
return
}

View File

@@ -4,6 +4,7 @@ import (
"context"
"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
"github.com/TeaOSLab/EdgeNode/internal/utils/testutils"
"net/http"
"runtime"
"testing"
"time"
@@ -12,6 +13,13 @@ import (
func TestHTTPClientPool_Client(t *testing.T) {
var pool = NewHTTPClientPool()
rawReq, err := http.NewRequest(http.MethodGet, "https://example.com/", nil)
if err != nil {
t.Fatal(err)
}
var req = &HTTPRequest{RawReq: rawReq}
{
var origin = &serverconfigs.OriginConfig{
Id: 1,
@@ -23,14 +31,14 @@ func TestHTTPClientPool_Client(t *testing.T) {
t.Fatal(err)
}
{
client, err := pool.Client(nil, origin, origin.Addr.PickAddress(), nil, false, "example.com")
client, err := pool.Client(req, origin, origin.Addr.PickAddress(), nil, false)
if err != nil {
t.Fatal(err)
}
t.Log("client:", client)
}
for i := 0; i < 10; i++ {
client, err := pool.Client(nil, origin, origin.Addr.PickAddress(), nil, false, "example.com")
client, err := pool.Client(req, origin, origin.Addr.PickAddress(), nil, false)
if err != nil {
t.Fatal(err)
}
@@ -54,7 +62,7 @@ func TestHTTPClientPool_cleanClients(t *testing.T) {
for i := 0; i < 10; i++ {
t.Log("get", i)
_, _ = pool.Client(nil, origin, origin.Addr.PickAddress(), nil, false, "example.com")
_, _ = pool.Client(nil, origin, origin.Addr.PickAddress(), nil, false)
if testutils.IsSingleTesting() {
time.Sleep(1 * time.Second)
@@ -79,6 +87,6 @@ func BenchmarkHTTPClientPool_Client(b *testing.B) {
var pool = NewHTTPClientPool()
for i := 0; i < b.N; i++ {
_, _ = pool.Client(nil, origin, origin.Addr.PickAddress(), nil, false, "example.com")
_, _ = pool.Client(nil, origin, origin.Addr.PickAddress(), nil, false)
}
}