mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-07-01 18:30:15 +00:00
Modify all `build` tests to use the raw, non-sorted output of build. This makes every test provide coverage for how kustomize re-orders (or doesn't reorder) resources during processing. Going forward, the ordering of resources in _expected_ output should match the depth-first ordering specified in the `resources:` field used in the test's kustomization file. The only exception to this rule would be tests that actually confirmed some other output ordering, e.g. the test of the `LegacyOrderTransformer` plugin. Fixes #756 Related #821
154 lines
2.1 KiB
Go
154 lines
2.1 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package main_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"sigs.k8s.io/kustomize/pkg/kusttest"
|
|
"sigs.k8s.io/kustomize/plugin"
|
|
)
|
|
|
|
func TestReplicaCountTransformer(t *testing.T) {
|
|
tc := plugin.NewEnvForTest(t).Set()
|
|
defer tc.Reset()
|
|
|
|
tc.BuildGoPlugin(
|
|
"builtin", "", "ReplicaCountTransformer")
|
|
|
|
th := kusttest_test.NewKustTestPluginHarness(t, "/app")
|
|
|
|
rm := th.LoadAndRunTransformer(`
|
|
apiVersion: builtin
|
|
kind: ReplicaCountTransformer
|
|
metadata:
|
|
name: notImportantHere
|
|
|
|
replica:
|
|
name: myapp
|
|
count: 23
|
|
fieldSpecs:
|
|
- path: spec/replicas
|
|
create: true
|
|
kind: Deployment
|
|
|
|
- path: spec/replicas
|
|
create: true
|
|
kind: ReplicationController
|
|
|
|
- path: spec/replicas
|
|
create: true
|
|
kind: ReplicaSet
|
|
|
|
- path: spec/replicas
|
|
create: true
|
|
kind: StatefulSet
|
|
`, `
|
|
apiVersion: apps/v1
|
|
kind: Service
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
ports:
|
|
- port: 1111
|
|
targetport: 1111
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: otherapp
|
|
spec:
|
|
replicas: 5
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
replicas: 5
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: app
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: ReplicaSet
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: app
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: ReplicationController
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
app: app
|
|
`)
|
|
|
|
th.AssertActualEqualsExpected(rm, `
|
|
apiVersion: apps/v1
|
|
kind: Service
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
ports:
|
|
- port: 1111
|
|
targetport: 1111
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: otherapp
|
|
spec:
|
|
replicas: 5
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
replicas: 23
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
replicas: 23
|
|
selector:
|
|
matchLabels:
|
|
app: app
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: ReplicaSet
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
replicas: 23
|
|
selector:
|
|
matchLabels:
|
|
app: app
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: ReplicationController
|
|
metadata:
|
|
name: myapp
|
|
spec:
|
|
replicas: 23
|
|
selector:
|
|
matchLabels:
|
|
app: app
|
|
`)
|
|
}
|