plugins/tests/discover_test.go
2024-02-18 13:23:11 +08:00

47 lines
1.2 KiB
Go

package tests
import (
"apigo.cloud/git/apigo/gojs"
_ "apigo.cloud/git/apigo/plugins/discover"
"github.com/ssgo/discover"
"github.com/ssgo/redis"
"github.com/ssgo/s"
"testing"
)
func TestDiscover(t *testing.T) {
rdServer := StartRedis("16378")
defer rdServer.Close()
rd := redis.GetRedis("redis://localhost:16378", nil)
rd.HSET("echo", "localhost:11223", 100)
s.Register(0, "/echo", func(in map[string]interface{}) map[string]interface{} {
return in
}, "")
s.Config.Listen = "11223,h2c"
discover.Config.Registry = "redis://localhost:16378"
discover.Config.Calls = map[string]string{"echo":""}
as := s.AsyncStart()
defer as.Stop()
// discover.Start("") // if not use ssgo/s, manual start discover
rt := gojs.New(nil, nil)
defer rt.Close()
r, err, _ := rt.Run(`
echoSrv = discover.fetch('echo')
r = echoSrv.get('/echo?aaa=111')
if(r.aaa != 111) throw new Error('aaa is '+r.aaa+' not 111')
return true
`)
Test(t, "get", r == true && err == nil, r, err)
r, err, _ = rt.Run(`
r = echoSrv.post('/echo', {aaa:111})
if(r.aaa != 111) throw new Error('aaa is '+r.aaa+' not 111')
return true
`)
Test(t, "post", r == true && err == nil, r, err)
}