8
func TestHttpSimple(t *testing.T) {
9
config := &HttpServerConfig{
10
Addr: "127.0.0.1:8080",
12
srv := NewHTTPServer(config)
18
time.Sleep(time.Second) // wait server start
19
client := NewHttpClient(&HttpClientConfig{
20
TargetAddr: "127.0.0.1:8080",
23
Verify: &VerifyConfig{
24
ExpectedStatusCode: 200,
25
ExpectedHeader: map[string][]string{
26
"mosn-test-default": []string{"http1"},
28
ExpectedBody: []byte("default-http1"),
31
for i := 0; i < 10; i++ {
32
if !client.SyncCall() {
33
t.Fatal("request failed")
38
connTotal := stats.ConnectionTotal()
39
connActive := stats.ConnectionActive()
40
respInfo, total := stats.ResponseInfo()
41
request := stats.Requests()
42
if !(connTotal == 1 &&
44
respInfo[200] == 10 &&
47
t.Fatalf("server metrics not expected: %v", stats)
49
cstats := client.Stats()
50
crespInfo, ctotal := cstats.ResponseInfo()
51
if !(cstats.ConnectionTotal() == 1 &&
52
cstats.ConnectionActive() == 1 &&
53
cstats.Requests() == 10 &&
54
cstats.ExpectedResponseCount() == 10 &&
55
crespInfo[200] == 10 &&
57
t.Fatalf("client metrics not expected: %v", cstats)
61
time.Sleep(time.Second) // wait connection closed event
62
if !(cstats.ConnectionActive() == 0 &&
63
cstats.ConnectionTotal() == 1 &&
64
cstats.ConnectionClosed() == 1 &&
65
stats.ConnectionActive() == 0 &&
66
stats.ConnectionClosed() == 1 &&
67
stats.ConnectionTotal() == 1) {
68
t.Fatalf("conn metrics not expected: %v, %v", cstats, stats)