From 949fd514633ebeb5707047aef0778c771c692f87 Mon Sep 17 00:00:00 2001 From: Jeffrey Regan Date: Tue, 18 Dec 2018 17:03:59 -0800 Subject: [PATCH] Yet another kusttarget test. --- pkg/target/baseandoverlaymedium_test.go | 10 +- pkg/target/baseandoverlaysmall_test.go | 189 ++++++++++++++++++++++++ 2 files changed, 194 insertions(+), 5 deletions(-) create mode 100644 pkg/target/baseandoverlaysmall_test.go diff --git a/pkg/target/baseandoverlaymedium_test.go b/pkg/target/baseandoverlaymedium_test.go index 8469a2f53..61b925d77 100644 --- a/pkg/target/baseandoverlaymedium_test.go +++ b/pkg/target/baseandoverlaymedium_test.go @@ -37,7 +37,7 @@ import ( // To eventually fix this, we could write the data to a real filesystem, and // clean up after, or use some other trick compatible with exec. -func writeBase(t *testing.T, ldr loadertest.FakeLoader) { +func writeMediumBase(t *testing.T, ldr loadertest.FakeLoader) { writeK(t, ldr, "/app/base", ` namePrefix: baseprefix- commonLabels: @@ -86,9 +86,9 @@ spec: `) } -func TestBigBase(t *testing.T) { +func TestMediumBase(t *testing.T) { ldr := loadertest.NewFakeLoader("/app/base") - writeBase(t, ldr) + writeMediumBase(t, ldr) m, err := makeKustTarget(t, ldr).MakeCustomizedResMap() if err != nil { t.Fatalf("Err: %v", err) @@ -149,9 +149,9 @@ spec: `) } -func TestBigOverlay(t *testing.T) { +func TestMediumOverlay(t *testing.T) { ldr := loadertest.NewFakeLoader("/app/overlay") - writeBase(t, ldr) + writeMediumBase(t, ldr) writeK(t, ldr, "/app/overlay", ` namePrefix: test-infra- commonLabels: diff --git a/pkg/target/baseandoverlaysmall_test.go b/pkg/target/baseandoverlaysmall_test.go new file mode 100644 index 000000000..887df4317 --- /dev/null +++ b/pkg/target/baseandoverlaysmall_test.go @@ -0,0 +1,189 @@ +/* +Copyright 2018 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 target + +import ( + "testing" + + "sigs.k8s.io/kustomize/pkg/internal/loadertest" +) + +func writeSmallBase(t *testing.T, ldr loadertest.FakeLoader) { + writeK(t, ldr, "/app/base", ` +namePrefix: a- +commonLabels: + app: myApp +resources: +- deployment.yaml +- service.yaml +`) + writeF(t, ldr, "/app/base/service.yaml", ` +apiVersion: v1 +kind: Service +metadata: + name: myService +spec: + selector: + backend: bungie + ports: + - port: 7002 +`) + writeF(t, ldr, "/app/base/deployment.yaml", ` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: myDeployment +spec: + template: + metadata: + labels: + backend: awesome + spec: + containers: + - name: whatever + image: whatever +`) +} + +func TestSmallBase(t *testing.T) { + ldr := loadertest.NewFakeLoader("/app/base") + writeSmallBase(t, ldr) + m, err := makeKustTarget(t, ldr).MakeCustomizedResMap() + if err != nil { + t.Fatalf("Err: %v", err) + } + if m == nil { + t.Fatalf("Empty map.") + } + s, err := m.EncodeAsYaml() + if err != nil { + t.Fatalf("Err: %v", err) + } + assertExpectedEqualsActual(t, s, `apiVersion: v1 +kind: Service +metadata: + labels: + app: myApp + name: a-myService +spec: + ports: + - port: 7002 + selector: + app: myApp + backend: bungie +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: myApp + name: a-myDeployment +spec: + selector: + matchLabels: + app: myApp + template: + metadata: + labels: + app: myApp + backend: awesome + spec: + containers: + - image: whatever + name: whatever +`) +} + +func TestSmallOverlay(t *testing.T) { + ldr := loadertest.NewFakeLoader("/app/overlay") + writeSmallBase(t, ldr) + writeK(t, ldr, "/app/overlay", ` +namePrefix: b- +commonLabels: + env: prod +bases: +- ../base +patchesStrategicMerge: +- deployment/deployment.yaml +imageTags: +- name: whatever + newTag: 1.8.0`) + + writeF(t, ldr, "/app/overlay/configmap/app.env", ` +DB_USERNAME=admin +DB_PASSWORD=somepw +`) + writeF(t, ldr, "/app/overlay/configmap/app-init.ini", ` +FOO=bar +BAR=baz +`) + writeF(t, ldr, "/app/overlay/deployment/deployment.yaml", ` +apiVersion: apps/v1 +kind: Deployment +metadata: + name: myDeployment +spec: + replicas: 1000 +`) + m, err := makeKustTarget(t, ldr).MakeCustomizedResMap() + if err != nil { + t.Fatalf("Err: %v", err) + } + s, err := m.EncodeAsYaml() + if err != nil { + t.Fatalf("Unexpected err: %v", err) + } + assertExpectedEqualsActual(t, s, `apiVersion: v1 +kind: Service +metadata: + labels: + app: myApp + env: prod + name: b-a-myService +spec: + ports: + - port: 7002 + selector: + app: myApp + backend: bungie + env: prod +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: myApp + env: prod + name: b-a-myDeployment +spec: + replicas: 1000 + selector: + matchLabels: + app: myApp + env: prod + template: + metadata: + labels: + app: myApp + backend: awesome + env: prod + spec: + containers: + - image: whatever:1.8.0 + name: whatever +`) +}