...

Source file src/sigs.k8s.io/kustomize/api/krusty/generatoroptions_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  	kusttest_test "sigs.k8s.io/kustomize/api/testutils/kusttest"
    10  )
    11  
    12  func TestSecretGenerator(t *testing.T) {
    13  	th := kusttest_test.MakeHarness(t)
    14  	th.WriteK(".", `
    15  secretGenerator:
    16  - name: bob
    17    literals:
    18    - FRUIT=apple
    19    - VEGETABLE=carrot
    20    files:
    21    - foo.env
    22    - passphrase=phrase.dat
    23    envs:
    24    - foo.env
    25  `)
    26  	th.WriteF("foo.env", `
    27  MOUNTAIN=everest
    28  OCEAN=pacific
    29  `)
    30  	th.WriteF("phrase.dat", "dat phrase")
    31  	m := th.Run(".", th.MakeDefaultOptions())
    32  	th.AssertActualEqualsExpected(m, `
    33  apiVersion: v1
    34  data:
    35    FRUIT: YXBwbGU=
    36    MOUNTAIN: ZXZlcmVzdA==
    37    OCEAN: cGFjaWZpYw==
    38    VEGETABLE: Y2Fycm90
    39    foo.env: Ck1PVU5UQUlOPWV2ZXJlc3QKT0NFQU49cGFjaWZpYwo=
    40    passphrase: ZGF0IHBocmFzZQ==
    41  kind: Secret
    42  metadata:
    43    name: bob-bh645k7tmg
    44  type: Opaque
    45  `)
    46  }
    47  
    48  func TestGeneratorOptionsWithBases(t *testing.T) {
    49  	th := kusttest_test.MakeHarness(t)
    50  	th.WriteK("base", `
    51  generatorOptions:
    52    disableNameSuffixHash: true
    53    labels:
    54      foo: bar
    55  configMapGenerator:
    56  - name: shouldNotHaveHash
    57    literals:
    58    - foo=bar
    59  `)
    60  	th.WriteK("overlay", `
    61  resources:
    62  - ../base
    63  generatorOptions:
    64    disableNameSuffixHash: false
    65    labels:
    66      fruit: apple
    67  configMapGenerator:
    68  - name: shouldHaveHash
    69    literals:
    70    - fruit=apple
    71  `)
    72  	m := th.Run("overlay", th.MakeDefaultOptions())
    73  	th.AssertActualEqualsExpected(m, `
    74  apiVersion: v1
    75  data:
    76    foo: bar
    77  kind: ConfigMap
    78  metadata:
    79    labels:
    80      foo: bar
    81    name: shouldNotHaveHash
    82  ---
    83  apiVersion: v1
    84  data:
    85    fruit: apple
    86  kind: ConfigMap
    87  metadata:
    88    labels:
    89      fruit: apple
    90    name: shouldHaveHash-c9867f8446
    91  `)
    92  }
    93  
    94  func TestGeneratorOptionsOverlayDisableNameSuffixHash(t *testing.T) {
    95  	th := kusttest_test.MakeHarness(t)
    96  	th.WriteK("base", `
    97  generatorOptions:
    98    disableNameSuffixHash: false
    99    labels:
   100      foo: bar
   101  configMapGenerator:
   102  - name: baseShouldHaveHashButOverlayShouldNot
   103    literals:
   104    - foo=bar
   105  `)
   106  	th.WriteK("overlay", `
   107  resources:
   108  - ../base
   109  generatorOptions:
   110    disableNameSuffixHash: true
   111    labels:
   112      fruit: apple
   113  configMapGenerator:
   114  - name: baseShouldHaveHashButOverlayShouldNot
   115    behavior: merge
   116    literals:
   117    - fruit=apple
   118  `)
   119  	m := th.Run("overlay", th.MakeDefaultOptions())
   120  	th.AssertActualEqualsExpected(m, `
   121  apiVersion: v1
   122  data:
   123    foo: bar
   124    fruit: apple
   125  kind: ConfigMap
   126  metadata:
   127    labels:
   128      foo: bar
   129      fruit: apple
   130    name: baseShouldHaveHashButOverlayShouldNot
   131  `)
   132  }
   133  

View as plain text