github.com/IBM-Blockchain/fabric-operator@v1.0.4/pkg/offering/base/console/override/envcm_test.go (about)

     1  /*
     2   * Copyright contributors to the Hyperledger Fabric Operator project
     3   *
     4   * SPDX-License-Identifier: Apache-2.0
     5   *
     6   * Licensed under the Apache License, Version 2.0 (the "License");
     7   * you may not use this file except in compliance with the License.
     8   * You may obtain a copy of the License at:
     9   *
    10   * 	  http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing, software
    13   * distributed under the License is distributed on an "AS IS" BASIS,
    14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    15   * See the License for the specific language governing permissions and
    16   * limitations under the License.
    17   */
    18  
    19  package override_test
    20  
    21  import (
    22  	"fmt"
    23  
    24  	. "github.com/onsi/ginkgo/v2"
    25  	. "github.com/onsi/gomega"
    26  	corev1 "k8s.io/api/core/v1"
    27  
    28  	current "github.com/IBM-Blockchain/fabric-operator/api/v1beta1"
    29  	"github.com/IBM-Blockchain/fabric-operator/pkg/manager/resources"
    30  	"github.com/IBM-Blockchain/fabric-operator/pkg/offering/base/console/override"
    31  	"github.com/IBM-Blockchain/fabric-operator/pkg/util"
    32  )
    33  
    34  var _ = Describe("Base Console Env Config Map Overrides", func() {
    35  	var (
    36  		overrider *override.Override
    37  		instance  *current.IBPConsole
    38  		cm        *corev1.ConfigMap
    39  	)
    40  
    41  	BeforeEach(func() {
    42  		var err error
    43  		overrider = &override.Override{}
    44  		instance = &current.IBPConsole{
    45  			Spec: current.IBPConsoleSpec{
    46  				ConnectionString: "connection_string",
    47  				TLSSecretName:    "tls_secret_name",
    48  				System:           "system1",
    49  				NetworkInfo: &current.NetworkInfo{
    50  					Domain:      "test.domain",
    51  					ConsolePort: 31010,
    52  					ProxyPort:   31011,
    53  				},
    54  			},
    55  		}
    56  		cm, err = util.GetConfigMapFromFile("../../../../../definitions/console/configmap.yaml")
    57  		Expect(err).NotTo(HaveOccurred())
    58  	})
    59  
    60  	Context("create", func() {
    61  		It("appropriately overrides the respective values for env config map", func() {
    62  			err := overrider.CM(instance, cm, resources.Create, nil)
    63  			Expect(err).NotTo(HaveOccurred())
    64  
    65  			By("setting HOST_URL", func() {
    66  				Expect(cm.Data["HOST_URL"]).To(Equal(fmt.Sprintf("https://%s:443", instance.Spec.NetworkInfo.Domain)))
    67  			})
    68  
    69  			By("setting DB_CONNECTION_STRING", func() {
    70  				Expect(cm.Data["DB_CONNECTION_STRING"]).To(Equal(instance.Spec.ConnectionString))
    71  			})
    72  
    73  			By("setting DB_SYSTEM", func() {
    74  				Expect(cm.Data["DB_SYSTEM"]).To(Equal(instance.Spec.System))
    75  			})
    76  
    77  			By("setting KEY_FILE_PATH", func() {
    78  				Expect(cm.Data["KEY_FILE_PATH"]).To(Equal("/certs/tls/tls.key"))
    79  			})
    80  
    81  			By("setting PEM_FILE_PATH", func() {
    82  				Expect(cm.Data["PEM_FILE_PATH"]).To(Equal("/certs/tls/tls.crt"))
    83  			})
    84  		})
    85  	})
    86  })