...

Source file src/sigs.k8s.io/kustomize/api/krusty/customconfigofbuiltinplugin_test.go

Documentation: sigs.k8s.io/kustomize/api/krusty

     1  // Copyright 2019 The Kubernetes Authors.
     2  // SPDX-License-Identifier: Apache-2.0
     3  
     4  package krusty_test
     5  
     6  import (
     7  	"testing"
     8  
     9  	"sigs.k8s.io/kustomize/api/types"
    10  
    11  	kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
    12  )
    13  
    14  // Demo custom configuration of a builtin transformation.
    15  // This is a NamePrefixer that touches Deployments
    16  // and Services exclusively.
    17  func TestCustomNamePrefixer(t *testing.T) {
    18  	th := kusttest_test.MakeEnhancedHarness(t)
    19  	th.GetPluginConfig().BpLoadingOptions = types.BploUseStaticallyLinked
    20  	defer th.Reset()
    21  
    22  	th.WriteK(".", `
    23  resources:
    24  - deployment.yaml
    25  - role.yaml
    26  - service.yaml
    27  transformers:
    28  - prefixer.yaml
    29  `)
    30  	th.WriteF("prefixer.yaml", `
    31  apiVersion: builtin
    32  kind: PrefixSuffixTransformer
    33  metadata:
    34    name: customPrefixer
    35  prefix: zzz-
    36  fieldSpecs:
    37  - kind: Deployment
    38    path: metadata/name
    39  - kind: Service
    40    path: metadata/name
    41  `)
    42  	th.WriteF("deployment.yaml", `
    43  apiVersion: apps/v1
    44  kind: Deployment
    45  metadata:
    46    name: myDeployment
    47  spec:
    48    template:
    49      metadata:
    50        labels:
    51          backend: awesome
    52      spec:
    53        containers:
    54        - name: whatever
    55          image: whatever
    56  `)
    57  	th.WriteF("role.yaml", `
    58  apiVersion: v1
    59  kind: Role
    60  metadata:
    61    name: myRole
    62  `)
    63  	th.WriteF("service.yaml", `
    64  apiVersion: v1
    65  kind: Service
    66  metadata:
    67    name: myService
    68  `)
    69  
    70  	m := th.Run(".", th.MakeDefaultOptions())
    71  	th.AssertActualEqualsExpected(m, `
    72  apiVersion: apps/v1
    73  kind: Deployment
    74  metadata:
    75    name: zzz-myDeployment
    76  spec:
    77    template:
    78      metadata:
    79        labels:
    80          backend: awesome
    81      spec:
    82        containers:
    83        - image: whatever
    84          name: whatever
    85  ---
    86  apiVersion: v1
    87  kind: Role
    88  metadata:
    89    name: myRole
    90  ---
    91  apiVersion: v1
    92  kind: Service
    93  metadata:
    94    name: zzz-myService
    95  `)
    96  }
    97  

View as plain text