658832bf18
add testcases
47 lines
1.2 KiB
Go
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)
|
|
|
|
}
|