diff --git a/tests/ci/health/health_test.go b/tests/ci/health/health_test.go index 99ee22b..f19c375 100644 --- a/tests/ci/health/health_test.go +++ b/tests/ci/health/health_test.go @@ -67,6 +67,20 @@ custom_domains = test2.com health_check_type = http health_check_interval_s = 1 health_check_url = /health + +[http3] +type = http +local_port = 15005 +custom_domains = test.balancing.com +group = test-balancing +group_key = 123 + +[http4] +type = http +local_port = 15006 +custom_domains = test.balancing.com +group = test-balancing +group_key = 123 ` func TestHealthCheck(t *testing.T) { @@ -124,6 +138,22 @@ func TestHealthCheck(t *testing.T) { defer httpSvc2.Stop() } + httpSvc3 := mock.NewHttpServer(15005, func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("http3")) + }) + err = httpSvc3.Start() + if assert.NoError(err) { + defer httpSvc3.Stop() + } + + httpSvc4 := mock.NewHttpServer(15006, func(w http.ResponseWriter, r *http.Request) { + w.Write([]byte("http4")) + }) + err = httpSvc4.Start() + if assert.NoError(err) { + defer httpSvc4.Stop() + } + time.Sleep(200 * time.Millisecond) // ****** start frps and frpc ****** @@ -244,4 +274,20 @@ func TestHealthCheck(t *testing.T) { assert.NoError(err) assert.Equal(200, code) assert.Equal("http2", body) + + // ****** load balancing type http ****** + result = make([]string, 0) + + code, body, _, err = util.SendHttpMsg("GET", "http://127.0.0.1:14000/xxx", "test.balancing.com", nil, "") + assert.NoError(err) + assert.Equal(200, code) + result = append(result, body) + + code, body, _, err = util.SendHttpMsg("GET", "http://127.0.0.1:14000/xxx", "test.balancing.com", nil, "") + assert.NoError(err) + assert.Equal(200, code) + result = append(result, body) + + assert.Contains(result, "http3") + assert.Contains(result, "http4") }