(t *testing.T)
| 244 | } |
| 245 | |
| 246 | func TestDuplicateContextName(t *testing.T) { |
| 247 | configFile, _ := ioutil.TempFile("", "") |
| 248 | defer os.Remove(configFile.Name()) |
| 249 | |
| 250 | err := ioutil.WriteFile(configFile.Name(), []byte(` |
| 251 | kind: Config |
| 252 | apiVersion: v1 |
| 253 | clusters: |
| 254 | - cluster: |
| 255 | api-version: v1 |
| 256 | server: https://kubernetes.default.svc:443 |
| 257 | certificate-authority: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt |
| 258 | name: kubeconfig-cluster |
| 259 | contexts: |
| 260 | - context: |
| 261 | cluster: kubeconfig-cluster |
| 262 | namespace: default |
| 263 | user: kubeconfig-user |
| 264 | name: kubeconfig-context |
| 265 | - context: |
| 266 | cluster: test-example-cluster |
| 267 | namespace: test-example |
| 268 | user: test-example-user |
| 269 | name: kubeconfig-context |
| 270 | current-context: kubeconfig-context |
| 271 | users: |
| 272 | - name: kubeconfig-user |
| 273 | user: |
| 274 | tokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token |
| 275 | `), os.FileMode(0755)) |
| 276 | |
| 277 | if err != nil { |
| 278 | t.Errorf("Unexpected error: %v", err) |
| 279 | } |
| 280 | |
| 281 | _, err = LoadFromFile(configFile.Name()) |
| 282 | if err == nil || !strings.Contains(err.Error(), |
| 283 | "error converting *[]NamedContext into *map[string]*api.Context: duplicate name \"kubeconfig-context\" in list") { |
| 284 | t.Error("Expected error in loading duplicate context name, got none") |
| 285 | } |
| 286 | } |
| 287 | |
| 288 | func TestDuplicateUserName(t *testing.T) { |
| 289 | configFile, _ := ioutil.TempFile("", "") |
nothing calls this directly
no test coverage detected