mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-22 14:57:01 +00:00
96 lines
1.6 KiB
Go
96 lines
1.6 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package target_test
|
|
|
|
import (
|
|
"sigs.k8s.io/kustomize/v3/pkg/kusttest"
|
|
"testing"
|
|
)
|
|
|
|
func TestNamespacedSecrets(t *testing.T) {
|
|
th := kusttest_test.NewKustTestHarness(t, "/app")
|
|
|
|
th.WriteF("/app/secrets.yaml", `
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: dummy
|
|
namespace: default
|
|
type: Opaque
|
|
data:
|
|
dummy: ""
|
|
---
|
|
apiVersion: v1
|
|
kind: Secret
|
|
metadata:
|
|
name: dummy
|
|
namespace: kube-system
|
|
type: Opaque
|
|
data:
|
|
dummy: ""
|
|
`)
|
|
|
|
// This should find the proper secret.
|
|
th.WriteF("/app/role.yaml", `
|
|
kind: ClusterRole
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
metadata:
|
|
name: dummy
|
|
rules:
|
|
- apiGroups: [""]
|
|
resources: ["secrets"]
|
|
resourceNames: ["dummy"]
|
|
verbs: ["get"]
|
|
`)
|
|
|
|
th.WriteK("/app", `
|
|
resources:
|
|
- secrets.yaml
|
|
- role.yaml
|
|
`)
|
|
|
|
m, err := th.MakeKustTarget().MakeCustomizedResMap()
|
|
// This validates Fix #1444. This should not be an error anymore -
|
|
// the secrets have the same name but are in different namespaces.
|
|
// The ClusterRole (by def) is not in a namespace,
|
|
// an in this case applies to *any* Secret resource
|
|
// named "dummy"
|
|
if err != nil {
|
|
t.Fatalf("Err: %v", err)
|
|
}
|
|
th.AssertActualEqualsExpected(m, `
|
|
apiVersion: v1
|
|
data:
|
|
dummy: ""
|
|
kind: Secret
|
|
metadata:
|
|
name: dummy
|
|
namespace: default
|
|
type: Opaque
|
|
---
|
|
apiVersion: v1
|
|
data:
|
|
dummy: ""
|
|
kind: Secret
|
|
metadata:
|
|
name: dummy
|
|
namespace: kube-system
|
|
type: Opaque
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: dummy
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resourceNames:
|
|
- dummy
|
|
resources:
|
|
- secrets
|
|
verbs:
|
|
- get
|
|
`)
|
|
}
|