mirror of
https://github.com/zeromicro/go-zero.git
synced 2025-02-02 16:28:39 +08:00
chore: add more tests (#3299)
This commit is contained in:
parent
e751736516
commit
8a4cc4f98d
2
.github/workflows/go.yml
vendored
2
.github/workflows/go.yml
vendored
@ -61,5 +61,5 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
go mod verify
|
go mod verify
|
||||||
go mod download
|
go mod download
|
||||||
go test -v -race ./...
|
go test ./...
|
||||||
cd tools/goctl && go build -v goctl.go
|
cd tools/goctl && go build -v goctl.go
|
||||||
|
@ -85,10 +85,7 @@ func createExporter(c Config) (sdktrace.SpanExporter, error) {
|
|||||||
if len(c.OtlpHeaders) > 0 {
|
if len(c.OtlpHeaders) > 0 {
|
||||||
opts = append(opts, otlptracegrpc.WithHeaders(c.OtlpHeaders))
|
opts = append(opts, otlptracegrpc.WithHeaders(c.OtlpHeaders))
|
||||||
}
|
}
|
||||||
return otlptracegrpc.New(
|
return otlptracegrpc.New(context.Background(), opts...)
|
||||||
context.Background(),
|
|
||||||
opts...,
|
|
||||||
)
|
|
||||||
case kindOtlpHttp:
|
case kindOtlpHttp:
|
||||||
// Not support flexible configuration now.
|
// Not support flexible configuration now.
|
||||||
opts := []otlptracehttp.Option{
|
opts := []otlptracehttp.Option{
|
||||||
@ -101,10 +98,7 @@ func createExporter(c Config) (sdktrace.SpanExporter, error) {
|
|||||||
if len(c.OtlpHttpPath) > 0 {
|
if len(c.OtlpHttpPath) > 0 {
|
||||||
opts = append(opts, otlptracehttp.WithURLPath(c.OtlpHttpPath))
|
opts = append(opts, otlptracehttp.WithURLPath(c.OtlpHttpPath))
|
||||||
}
|
}
|
||||||
return otlptracehttp.New(
|
return otlptracehttp.New(context.Background(), opts...)
|
||||||
context.Background(),
|
|
||||||
opts...,
|
|
||||||
)
|
|
||||||
case kindFile:
|
case kindFile:
|
||||||
f, err := os.OpenFile(c.Endpoint, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
|
f, err := os.OpenFile(c.Endpoint, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0666)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -11,13 +11,14 @@ func TestStartAgent(t *testing.T) {
|
|||||||
logx.Disable()
|
logx.Disable()
|
||||||
|
|
||||||
const (
|
const (
|
||||||
endpoint1 = "localhost:1234"
|
endpoint1 = "localhost:1234"
|
||||||
endpoint2 = "remotehost:1234"
|
endpoint2 = "remotehost:1234"
|
||||||
endpoint3 = "localhost:1235"
|
endpoint3 = "localhost:1235"
|
||||||
endpoint4 = "localhost:1236"
|
endpoint4 = "localhost:1236"
|
||||||
endpoint5 = "udp://localhost:6831"
|
endpoint5 = "udp://localhost:6831"
|
||||||
endpoint6 = "localhost:1237"
|
endpoint6 = "localhost:1237"
|
||||||
endpoint7 = "/tmp/trace.log"
|
endpoint71 = "/tmp/trace.log"
|
||||||
|
endpoint72 = "/not-exist-fs/trace.log"
|
||||||
)
|
)
|
||||||
c1 := Config{
|
c1 := Config{
|
||||||
Name: "foo",
|
Name: "foo",
|
||||||
@ -66,7 +67,12 @@ func TestStartAgent(t *testing.T) {
|
|||||||
}
|
}
|
||||||
c9 := Config{
|
c9 := Config{
|
||||||
Name: "file",
|
Name: "file",
|
||||||
Endpoint: endpoint7,
|
Endpoint: endpoint71,
|
||||||
|
Batcher: kindFile,
|
||||||
|
}
|
||||||
|
c10 := Config{
|
||||||
|
Name: "file",
|
||||||
|
Endpoint: endpoint72,
|
||||||
Batcher: kindFile,
|
Batcher: kindFile,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,6 +86,7 @@ func TestStartAgent(t *testing.T) {
|
|||||||
StartAgent(c7)
|
StartAgent(c7)
|
||||||
StartAgent(c8)
|
StartAgent(c8)
|
||||||
StartAgent(c9)
|
StartAgent(c9)
|
||||||
|
StartAgent(c10)
|
||||||
defer StopAgent()
|
defer StopAgent()
|
||||||
|
|
||||||
lock.Lock()
|
lock.Lock()
|
||||||
@ -97,6 +104,8 @@ func TestStartAgent(t *testing.T) {
|
|||||||
assert.True(t, ok)
|
assert.True(t, ok)
|
||||||
_, ok = agents[endpoint6]
|
_, ok = agents[endpoint6]
|
||||||
assert.False(t, ok)
|
assert.False(t, ok)
|
||||||
_, ok = agents[endpoint7]
|
_, ok = agents[endpoint71]
|
||||||
assert.True(t, ok)
|
assert.True(t, ok)
|
||||||
|
_, ok = agents[endpoint72]
|
||||||
|
assert.False(t, ok)
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package rest
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"crypto/tls"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net/http"
|
"net/http"
|
||||||
@ -15,6 +16,7 @@ import (
|
|||||||
"github.com/zeromicro/go-zero/core/conf"
|
"github.com/zeromicro/go-zero/core/conf"
|
||||||
"github.com/zeromicro/go-zero/core/fs"
|
"github.com/zeromicro/go-zero/core/fs"
|
||||||
"github.com/zeromicro/go-zero/core/logx"
|
"github.com/zeromicro/go-zero/core/logx"
|
||||||
|
"github.com/zeromicro/go-zero/rest/router"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@ -200,6 +202,7 @@ Verbose: true
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var index int32
|
||||||
for _, yaml := range yamls {
|
for _, yaml := range yamls {
|
||||||
yaml := yaml
|
yaml := yaml
|
||||||
for _, route := range routes {
|
for _, route := range routes {
|
||||||
@ -208,6 +211,11 @@ Verbose: true
|
|||||||
var cnf RestConf
|
var cnf RestConf
|
||||||
assert.Nil(t, conf.LoadFromYamlBytes([]byte(yaml), &cnf))
|
assert.Nil(t, conf.LoadFromYamlBytes([]byte(yaml), &cnf))
|
||||||
ng := newEngine(cnf)
|
ng := newEngine(cnf)
|
||||||
|
if atomic.AddInt32(&index, 1)%2 == 0 {
|
||||||
|
ng.setUnsignedCallback(func(w http.ResponseWriter, r *http.Request,
|
||||||
|
next http.Handler, strict bool, code int) {
|
||||||
|
})
|
||||||
|
}
|
||||||
ng.addRoutes(route)
|
ng.addRoutes(route)
|
||||||
ng.use(func(next http.HandlerFunc) http.HandlerFunc {
|
ng.use(func(next http.HandlerFunc) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
@ -398,6 +406,29 @@ func TestEngine_withTimeout(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestEngine_start(t *testing.T) {
|
||||||
|
logx.Disable()
|
||||||
|
|
||||||
|
t.Run("http", func(t *testing.T) {
|
||||||
|
ng := newEngine(RestConf{
|
||||||
|
Host: "localhost",
|
||||||
|
Port: -1,
|
||||||
|
})
|
||||||
|
assert.Error(t, ng.start(router.NewRouter()))
|
||||||
|
})
|
||||||
|
|
||||||
|
t.Run("https", func(t *testing.T) {
|
||||||
|
ng := newEngine(RestConf{
|
||||||
|
Host: "localhost",
|
||||||
|
Port: -1,
|
||||||
|
CertFile: "foo",
|
||||||
|
KeyFile: "bar",
|
||||||
|
})
|
||||||
|
ng.tlsConfig = &tls.Config{}
|
||||||
|
assert.Error(t, ng.start(router.NewRouter()))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
type mockedRouter struct {
|
type mockedRouter struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user