Skip to content

Commit

Permalink
Added test for name suffix in base not generating expected reference …
Browse files Browse the repository at this point in the history
…name
  • Loading branch information
partiallyordered committed Aug 11, 2020
1 parent 7ee75c3 commit b71b36a
Showing 1 changed file with 114 additions and 0 deletions.
114 changes: 114 additions & 0 deletions api/krusty/nameprefixsuffixpatch_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
// Copyright 2019 The Kubernetes Authors.
// SPDX-License-Identifier: Apache-2.0

// I expected configMapRef.name and configMapKeyRef.name to be "mysql-g9ttm44c48" not "mysql"

package krusty_test

import (
"testing"

kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)

func TestNamePrefixSuffixPatch(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
PrepBuiltin("PrefixSuffixTransformer").
PrepBuiltin("AnnotationsTransformer").
PrepBuiltin("LabelTransformer")
defer th.Reset()

th.WriteF("/app/handlers/kustomization.yaml", `
nameSuffix: -suffix
resources:
- ./deployment.yaml
`)

th.WriteF("/app/handlers/deployment.yaml", `
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: short
spec:
template:
spec:
containers:
- name: handler
`)

th.WriteF("/app/mysql/kustomization.yaml", `
configMapGenerator:
- name: mysql
literals:
- MYSQL_USER=mysql
- MYSQL_DATABASE=default
`)

th.WriteK("/app", `
resources:
- ./mysql
- ./handlers
configMapGenerator:
- name: mysql
behavior: merge
literals:
- MYSQL_DATABASE=db
- MYSQL_USER=user
patches:
- target:
kind: Deployment
name: s.*
patch: |-
kind: Deployment
metadata:
name: ignored
spec:
template:
spec:
containers:
- name: handler
envFrom:
- configMapRef:
name: mysql
env:
- valueFrom:
configMapKeyRef:
name: mysql
key: MYSQL_DATABASE
`)

m := th.Run("/app", th.MakeDefaultOptions())
// I expected configMapRef.name and configMapKeyRef.name to be "mysql-g9ttm44c48" not "mysql"
th.AssertActualEqualsExpected(m, `
apiVersion: v1
data:
MYSQL_DATABASE: db
MYSQL_USER: user
kind: ConfigMap
metadata:
annotations: {}
labels: {}
name: mysql-g9ttm44c48
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: short-suffix
spec:
template:
spec:
containers:
- env:
- valueFrom:
configMapKeyRef:
key: MYSQL_DATABASE
name: mysql
envFrom:
- configMapRef:
name: mysql
name: handler
`)
}

0 comments on commit b71b36a

Please sign in to comment.