2020-07-22 22:19:39 +08:00
|
|
|
package rpc
|
|
|
|
|
|
|
|
|
|
import (
|
2024-07-27 15:42:58 +08:00
|
|
|
"testing"
|
|
|
|
|
"time"
|
|
|
|
|
|
2020-07-22 22:19:39 +08:00
|
|
|
"github.com/TeaOSLab/EdgeAdmin/internal/configs"
|
2020-10-04 14:27:05 +08:00
|
|
|
"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
|
2020-07-22 22:19:39 +08:00
|
|
|
_ "github.com/iwind/TeaGo/bootstrap"
|
|
|
|
|
stringutil "github.com/iwind/TeaGo/utils/string"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestRPCClient_NodeRPC(t *testing.T) {
|
|
|
|
|
before := time.Now()
|
|
|
|
|
defer func() {
|
|
|
|
|
t.Log(time.Since(before).Seconds()*1000, "ms")
|
|
|
|
|
}()
|
|
|
|
|
config, err := configs.LoadAPIConfig()
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
2021-12-12 11:46:09 +08:00
|
|
|
rpc, err := NewRPCClient(config, true)
|
2020-07-22 22:19:39 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
2020-07-30 22:41:35 +08:00
|
|
|
resp, err := rpc.AdminRPC().LoginAdmin(rpc.Context(0), &pb.LoginAdminRequest{
|
2020-07-22 22:19:39 +08:00
|
|
|
Username: "admin",
|
|
|
|
|
Password: stringutil.Md5("123456"),
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log(resp)
|
|
|
|
|
}
|
2020-10-04 14:27:05 +08:00
|
|
|
|
|
|
|
|
func TestRPC_Dial_HTTP(t *testing.T) {
|
|
|
|
|
client, err := NewRPCClient(&configs.APIConfig{
|
2023-11-24 09:13:18 +08:00
|
|
|
RPCEndpoints: []string{"https://127.0.0.1:8003"},
|
|
|
|
|
NodeId: "a7e55782dab39bce0901058a1e14a0e6",
|
|
|
|
|
Secret: "lvyPobI3BszkJopz5nPTocOs0OLkEJ7y",
|
2021-12-12 11:46:09 +08:00
|
|
|
}, true)
|
2020-10-04 14:27:05 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resp, err := client.NodeRPC().FindEnabledNode(client.Context(1), &pb.FindEnabledNodeRequest{NodeId: 4})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log(resp.Node)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestRPC_Dial_HTTP_2(t *testing.T) {
|
|
|
|
|
client, err := NewRPCClient(&configs.APIConfig{
|
2023-11-24 09:13:18 +08:00
|
|
|
RPCEndpoints: []string{"https://127.0.0.1:8003"},
|
|
|
|
|
NodeId: "a7e55782dab39bce0901058a1e14a0e6",
|
|
|
|
|
Secret: "lvyPobI3BszkJopz5nPTocOs0OLkEJ7y",
|
2021-12-12 11:46:09 +08:00
|
|
|
}, true)
|
2020-10-04 14:27:05 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resp, err := client.NodeRPC().FindEnabledNode(client.Context(1), &pb.FindEnabledNodeRequest{NodeId: 4})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log(resp.Node)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestRPC_Dial_HTTPS(t *testing.T) {
|
|
|
|
|
client, err := NewRPCClient(&configs.APIConfig{
|
2023-11-24 09:13:18 +08:00
|
|
|
RPCEndpoints: []string{"https://127.0.0.1:8004"},
|
|
|
|
|
NodeId: "a7e55782dab39bce0901058a1e14a0e6",
|
|
|
|
|
Secret: "lvyPobI3BszkJopz5nPTocOs0OLkEJ7y",
|
2021-12-12 11:46:09 +08:00
|
|
|
}, true)
|
2020-10-04 14:27:05 +08:00
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
resp, err := client.NodeRPC().FindEnabledNode(client.Context(1), &pb.FindEnabledNodeRequest{NodeId: 4})
|
|
|
|
|
if err != nil {
|
|
|
|
|
t.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
t.Log(resp.Node)
|
|
|
|
|
}
|
2022-08-25 09:25:52 +08:00
|
|
|
|
|
|
|
|
func BenchmarkNewRPCClient(b *testing.B) {
|
|
|
|
|
config, err := configs.LoadAPIConfig()
|
|
|
|
|
if err != nil {
|
|
|
|
|
b.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
rpc, err := NewRPCClient(config, true)
|
|
|
|
|
if err != nil {
|
|
|
|
|
b.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
b.ResetTimer()
|
|
|
|
|
|
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
|
|
|
resp, err := rpc.AdminRPC().LoginAdmin(rpc.Context(0), &pb.LoginAdminRequest{
|
|
|
|
|
Username: "admin",
|
|
|
|
|
Password: stringutil.Md5("123456"),
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
b.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
_ = resp
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func BenchmarkNewRPCClient_2(b *testing.B) {
|
|
|
|
|
config, err := configs.LoadAPIConfig()
|
|
|
|
|
if err != nil {
|
|
|
|
|
b.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
rpc, err := NewRPCClient(config, true)
|
|
|
|
|
if err != nil {
|
|
|
|
|
b.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var conn = rpc.AdminRPC()
|
|
|
|
|
|
|
|
|
|
b.ResetTimer()
|
|
|
|
|
|
|
|
|
|
for i := 0; i < b.N; i++ {
|
|
|
|
|
resp, err := conn.LoginAdmin(rpc.Context(0), &pb.LoginAdminRequest{
|
|
|
|
|
Username: "admin",
|
|
|
|
|
Password: stringutil.Md5("123456"),
|
|
|
|
|
})
|
|
|
|
|
if err != nil {
|
|
|
|
|
b.Fatal(err)
|
|
|
|
|
}
|
|
|
|
|
_ = resp
|
|
|
|
|
}
|
|
|
|
|
}
|