watch pods instead of polling
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m57s
All checks were successful
Build and Publish / BuildAndDeploy (push) Successful in 1m57s
This commit is contained in:
49
discovery_test.go
Normal file
49
discovery_test.go
Normal file
@@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/tools/clientcmd"
|
||||
)
|
||||
|
||||
func TestDiscovery(t *testing.T) {
|
||||
config, err := clientcmd.BuildConfigFromFlags("", "/Users/mats/.kube/config")
|
||||
if err != nil {
|
||||
t.Errorf("Error building config: %v", err)
|
||||
}
|
||||
client, err := kubernetes.NewForConfig(config)
|
||||
if err != nil {
|
||||
t.Errorf("Error creating client: %v", err)
|
||||
}
|
||||
d := NewK8sDiscovery(client)
|
||||
res, err := d.DiscoverInNamespace("")
|
||||
if err != nil {
|
||||
t.Errorf("Error discovering: %v", err)
|
||||
}
|
||||
if len(res) == 0 {
|
||||
t.Errorf("Expected at least one host, got none")
|
||||
}
|
||||
}
|
||||
|
||||
func TestWatch(t *testing.T) {
|
||||
config, err := clientcmd.BuildConfigFromFlags("", "/Users/mats/.kube/config")
|
||||
if err != nil {
|
||||
t.Errorf("Error building config: %v", err)
|
||||
}
|
||||
client, err := kubernetes.NewForConfig(config)
|
||||
if err != nil {
|
||||
t.Errorf("Error creating client: %v", err)
|
||||
}
|
||||
d := NewK8sDiscovery(client)
|
||||
ch, err := d.Watch()
|
||||
if err != nil {
|
||||
t.Errorf("Error watching: %v", err)
|
||||
}
|
||||
select {
|
||||
case <-ch:
|
||||
case <-time.After(5 * time.Second):
|
||||
t.Errorf("Timeout waiting for watch")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user