diff --git a/pkg/client/client_test.go b/pkg/client/client_test.go index df8df51e4..c09d90ba6 100644 --- a/pkg/client/client_test.go +++ b/pkg/client/client_test.go @@ -49,3 +49,40 @@ func TestBuildUserAgent(t *testing.T) { }) } } + +func TestConfig(t *testing.T) { + tests := []struct { + name string + kubeconfig string + kubecontext string + QPS float32 + burst int + expectedHost string + }{ + { + name: "Test using the right cluster as context indexed", + kubeconfig: "kubeconfig", + kubecontext: "federal-context", + QPS: 1.0, + burst: 1, + expectedHost: "https://horse.org:4443", + }, + { + name: "Test using the right cluster as context indexed", + kubeconfig: "kubeconfig", + kubecontext: "queen-anne-context", + QPS: 200.0, + burst: 20, + expectedHost: "https://pig.org:443", + }, + } + for _, test := range tests { + t.Run(test.name, func(t *testing.T) { + client, err := Config(test.kubeconfig, test.kubecontext, "velero", test.QPS, test.burst) + assert.Equal(t, err, nil) + assert.Equal(t, test.expectedHost, client.Host) + assert.Equal(t, test.QPS, client.QPS) + assert.Equal(t, test.burst, client.Burst) + }) + } +} diff --git a/pkg/client/kubeconfig b/pkg/client/kubeconfig new file mode 100644 index 000000000..3aab6afe9 --- /dev/null +++ b/pkg/client/kubeconfig @@ -0,0 +1,35 @@ + +current-context: federal-context +apiVersion: v1 +clusters: +- cluster: + api-version: v1 + server: http://cow.org:8080 + name: cow-cluster +- cluster: + server: https://horse.org:4443 + name: horse-cluster +- cluster: + insecure-skip-tls-verify: true + server: https://pig.org:443 + name: pig-cluster +contexts: +- context: + cluster: horse-cluster + namespace: chisel-ns + user: green-user + name: federal-context +- context: + cluster: pig-cluster + namespace: saw-ns + user: black-user + name: queen-anne-context +kind: Config +preferences: + colors: true +users: +- name: blue-user + user: + token: blue-token +- name: green-user + user: