Skip to content

Commit

Permalink
Merge pull request #15 from openinfradev/feature/add-complex-unittest
Browse files Browse the repository at this point in the history
Add more unittest codes for validating inline transformer
  • Loading branch information
powerds authored Jul 9, 2020
2 parents 5375ee0 + 2826e81 commit 2c53c05
Showing 1 changed file with 239 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
)

func TestHelmValuesTransformer(t *testing.T) {
func TestHelmValuesTransformerChartRef(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
BuildGoPlugin("openinfradev.github.com", "v1", "HelmValuesTransformer")
defer th.Reset()
Expand All @@ -16,8 +16,6 @@ apiVersion: openinfradev.github.com/v1
kind: HelmValuesTransformer
metadata:
name: site
global:
docker_registry: registry.cicd.stg.taco
charts:
- chartName: glance
chartRef: taco-k8s-v20.07
Expand Down Expand Up @@ -61,3 +59,241 @@ spec:
enabled: true
`)
}

func TestHelmValuesTransformerInlineOverride(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
BuildGoPlugin("openinfradev.github.com", "v1", "HelmValuesTransformer")
defer th.Reset()

rm := th.LoadAndRunTransformer(`
apiVersion: openinfradev.github.com/v1
kind: HelmValuesTransformer
metadata:
name: site
charts:
- chartName: glance
chartRef: master
override:
conf.ceph.admin_keyring: abcdefghijklmn
conf.ceph.enabled: true
`, `
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: glance
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: glance
ref: master
releaseName: glance
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: TACO_FIXME
enabled: false
`)
th.AssertActualEqualsExpected(rm, `
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: glance
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: glance
ref: master
releaseName: glance
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: abcdefghijklmn
enabled: true
`)
}

func TestHelmValuesTransformerMultiCharts(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
BuildGoPlugin("openinfradev.github.com", "v1", "HelmValuesTransformer")
defer th.Reset()

rm := th.LoadAndRunTransformer(`
apiVersion: openinfradev.github.com/v1
kind: HelmValuesTransformer
metadata:
name: site
charts:
- chartName: glance
chartRef: master
override:
conf.ceph.admin_keyring: abcdefghijklmn
conf.ceph.enabled: true
- chartName: cinder
chartRef: master
override:
conf.ceph.admin_keyring: opqrstuvwxyz
`, `
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: glance
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: glance
ref: master
releaseName: glance
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: TACO_FIXME
enabled: false
---
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: cinder
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: cinder
ref: master
releaseName: cinder
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: TACO_FIXME
enabled: false
`)
th.AssertActualEqualsExpected(rm, `
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: glance
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: glance
ref: master
releaseName: glance
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: abcdefghijklmn
enabled: true
---
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: cinder
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: cinder
ref: master
releaseName: cinder
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: opqrstuvwxyz
enabled: false
`)
}

func TestHelmValuesTransformerComplexValues(t *testing.T) {
th := kusttest_test.MakeEnhancedHarness(t).
BuildGoPlugin("openinfradev.github.com", "v1", "HelmValuesTransformer")
defer th.Reset()

rm := th.LoadAndRunTransformer(`
apiVersion: openinfradev.github.com/v1
kind: HelmValuesTransformer
metadata:
name: site
charts:
- chartName: glance
chartRef: taco-k8s-v20.07
override:
conf.ceph.admin_keyring: abcdefghijklmn
conf.ceph.enabled: true
- chartName: cinder
chartRef: feature-a
override:
conf.ceph.admin_keyring: opqrstuvwxyz
`, `
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: glance
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: glance
ref: master
releaseName: glance
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: TACO_FIXME
enabled: false
---
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: cinder
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: cinder
ref: master
releaseName: cinder
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: TACO_FIXME
enabled: false
`)
th.AssertActualEqualsExpected(rm, `
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: glance
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: glance
ref: taco-k8s-v20.07
releaseName: glance
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: abcdefghijklmn
enabled: true
---
apiVersion: helm.fluxcd.io/v1
kind: HelmRelease
metadata:
name: cinder
spec:
chart:
git: https://tde.sktelecom.com/stash/scm/openstack/openstack-helm.git
path: cinder
ref: feature-a
releaseName: cinder
targetNamespace: openstack
values:
conf:
ceph:
admin_keyring: opqrstuvwxyz
enabled: false
`)
}

0 comments on commit 2c53c05

Please sign in to comment.