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) }