fox/etcd/etcd_test.go
2025-06-16 22:06:59 +08:00

78 lines
1.7 KiB
Go

package etcd
import (
"github.com/fox/fox/log"
"testing"
"time"
)
const (
etcdAddress1 = "192.168.232.128:2379"
etcdAddress2 = "114.132.124.145:2379"
)
/*
sudo docker run -d \
--name my-etcd \
-p 2379:2379 \
-p 2380:2380 \
quay.io/coreos/etcd:v3.6.0 \
etcd \
--name etcd-single \
--data-dir /etcd-data \
--initial-advertise-peer-urls http://0.0.0.0:2380 \
--listen-peer-urls http://0.0.0.0:2380 \
--advertise-client-urls http://0.0.0.0:2379 \
--listen-client-urls http://0.0.0.0:2379 \
--initial-cluster etcd-single=http://0.0.0.0:2380
sudo docker run -d --name etcdkeeper -p 8080:8080 evildecay/etcdkeeper
*/
func TestService(t *testing.T) {
_ = etcdAddress1
_ = etcdAddress2
log.Open("test.log", log.DebugL)
// 创建注册中心
registry, err := NewRegistry[ServiceNode]([]string{etcdAddress2}, "", "", ServiceNode{
Name: "instance-1",
Type: "user-service",
})
if err != nil {
log.Fatal(err.Error())
return
}
// 监控服务变化
registry.watchServices()
time.Sleep(60 * time.Second)
registry.UnregisterService()
}
func TestTopicRegistry(t *testing.T) {
_ = etcdAddress1
_ = etcdAddress2
log.Open("test.log", log.DebugL)
// 创建注册中心
registry, err := NewRegistry[TopicNode]([]string{etcdAddress2}, "", "", TopicNode{
Name: "instance-1",
Creator: "instance-1",
})
if err != nil {
log.Fatal(err.Error())
return
}
// 监控服务变化
registry.watchServices()
registry.GetNodes().Range(func(k, v interface{}) bool {
if node, ok := v.(TopicNode); ok {
log.DebugF("this is topic:%v", node.Name)
}
return true
})
time.Sleep(60 * time.Second)
registry.UnregisterService()
}