1
0
mirror of https://github.com/go-kratos/kratos.git synced 2025-02-21 19:19:32 +02:00
kratos/contrib/config/kubernetes/watcher_test.go
倒霉狐狸 0597883e70
fix: contrib config kubernetes lint err (#1523)
* fix: contrib metrics datadog lint err

* fix: contrib config nacos lint err

* fix: contrib config kubernetes lint err

* remove unwanted docs
2021-09-30 14:31:25 +08:00

43 lines
870 B
Go

package kubernetes
import (
"context"
"path/filepath"
"testing"
"time"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/client-go/kubernetes"
"k8s.io/client-go/tools/clientcmd"
"k8s.io/client-go/util/homedir"
)
func TestKube(t *testing.T) {
home := homedir.HomeDir()
config, err := clientcmd.BuildConfigFromFlags("", filepath.Join(home, ".kube", "config"))
if err != nil {
t.Error(err)
}
client, err := kubernetes.NewForConfig(config)
if err != nil {
t.Error(err)
}
cmWatcher, err := client.CoreV1().ConfigMaps("mesh").Watch(context.Background(), metav1.ListOptions{
LabelSelector: "app=test",
// FieldSelector: "",
})
if err != nil {
t.Error(err)
}
go func() {
time.Sleep(5 * time.Second)
cmWatcher.Stop()
}()
for c := range cmWatcher.ResultChan() {
if c.Object == nil {
return
}
t.Log(c.Type, c.Object)
}
}