Skip to content

Commit 49b3e86

Browse files
committed
Unit tests for pkg/client
1 parent b361419 commit 49b3e86

File tree

4 files changed

+52
-1
lines changed

4 files changed

+52
-1
lines changed

.goreleaser.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ dockers:
2525
- image: bpineau/katafygio
2626
goos: linux
2727
goarch: amd64
28-
dockerfile: Dockerfile.goreleaser
28+
dockerfile: assets/Dockerfile.goreleaser
2929
tag_templates:
3030
- '{{ .Tag }}'
3131
- latest

assets/.kube/config

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
clusters:
3+
- cluster:
4+
server: http://127.0.0.1:8080
5+
name: test-fake-server
6+
contexts:
7+
- context:
8+
cluster: test-fake-server
9+
user: ""
10+
name: test-fake-server
11+
current-context: test-fake-server
12+
kind: Config
13+
preferences: {}
File renamed without changes.

pkg/client/client_test.go

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package client
2+
3+
import (
4+
"fmt"
5+
"os"
6+
"testing"
7+
)
8+
9+
const nonExistentPath = "\\/hopefully/non/existent/path"
10+
11+
func TestClientSet(t *testing.T) {
12+
here, _ := os.Getwd()
13+
_ = os.Setenv("HOME", here+"/../../assets")
14+
cs, err := NewClientSet("", "")
15+
if err != nil {
16+
t.Fatal(err)
17+
}
18+
if fmt.Sprintf("%T", cs) != "*kubernetes.Clientset" {
19+
t.Errorf("NewClientSet() didn't return a *kubernetes.Clientset: %T", cs)
20+
}
21+
22+
cs, _ = NewClientSet("http://127.0.0.1", "/dev/null")
23+
if fmt.Sprintf("%T", cs) != "*kubernetes.Clientset" {
24+
t.Errorf("NewClientSet(server) didn't return a *kubernetes.Clientset: %T", cs)
25+
}
26+
27+
_, err = NewClientSet("http://127.0.0.1", nonExistentPath)
28+
if err == nil {
29+
t.Fatal("NewClientSet() should fail on non existent kubeconfig path")
30+
}
31+
32+
_ = os.Unsetenv("KUBERNETES_SERVICE_HOST")
33+
_ = os.Setenv("HOME", nonExistentPath)
34+
_, err = NewClientSet("", "")
35+
if err == nil {
36+
t.Fatal("NewClientSet() should fail to load InClusterConfig without kube address env")
37+
}
38+
}

0 commit comments

Comments
 (0)