12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- /*
- Copyright 2016 The Kubernetes Authors.
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
- http://www.apache.org/licenses/LICENSE-2.0
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- */
- package app
- import (
- "io/ioutil"
- "os"
- "reflect"
- "testing"
- "k8s.io/kubernetes/pkg/client/restclient"
- "k8s.io/kubernetes/pkg/util/diff"
- )
- func TestLoadRESTClientConfig(t *testing.T) {
- testData := []byte(`
- apiVersion: v1
- kind: Config
- clusters:
- - cluster:
- certificate-authority: ca-a.crt
- server: https://cluster-a.com
- name: cluster-a
- - cluster:
- certificate-authority-data: VGVzdA==
- server: https://cluster-b.com
- name: cluster-b
- contexts:
- - context:
- cluster: cluster-a
- namespace: ns-a
- user: user-a
- name: context-a
- - context:
- cluster: cluster-b
- namespace: ns-b
- user: user-b
- name: context-b
- current-context: context-b
- users:
- - name: user-a
- user:
- token: mytoken-a
- - name: user-b
- user:
- token: mytoken-b
- `)
- f, err := ioutil.TempFile("", "kubeconfig")
- if err != nil {
- t.Fatal(err)
- }
- defer os.Remove(f.Name())
- ioutil.WriteFile(f.Name(), testData, os.FileMode(0755))
- config, err := loadRESTClientConfig(f.Name())
- if err != nil {
- t.Fatal(err)
- }
- expectedConfig := &restclient.Config{
- Host: "https://cluster-b.com",
- TLSClientConfig: restclient.TLSClientConfig{
- CAData: []byte(`Test`),
- },
- BearerToken: "mytoken-b",
- }
- if !reflect.DeepEqual(config, expectedConfig) {
- t.Errorf("Unexpected config: %s", diff.ObjectDiff(config, expectedConfig))
- }
- }
|