github.com/verrazzano/verrazzano-monitoring-operator@v0.0.30/pkg/upgrade/upgrade_test.go (about)

     1  // Copyright (C) 2022, Oracle and/or its affiliates.
     2  // Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
     3  
     4  package upgrade
     5  
     6  import (
     7  	"testing"
     8  
     9  	"github.com/stretchr/testify/assert"
    10  	vmcontrollerv1 "github.com/verrazzano/verrazzano-monitoring-operator/pkg/apis/vmcontroller/v1"
    11  	"github.com/verrazzano/verrazzano-monitoring-operator/pkg/constants"
    12  	"github.com/verrazzano/verrazzano-monitoring-operator/pkg/opensearch"
    13  	"github.com/verrazzano/verrazzano-monitoring-operator/pkg/util/logs/vzlog"
    14  	kubeinformers "k8s.io/client-go/informers"
    15  	fake "k8s.io/client-go/kubernetes/fake"
    16  )
    17  
    18  // TestMigrateOldIndicesNoErrorWhenOSNotReady tests that MigrateOldIndices does not return error when OpenSearch is not ready
    19  // GIVEN a default VMI instance
    20  // WHEN I call MigrateOldIndices
    21  // THEN the MigrateOldIndices does not return error when the Opensearch StatefulSet pods are not ready
    22  func TestMigrateOldIndicesNoErrorWhenOSNotReady(t *testing.T) {
    23  	// fake statefulSetLister that returns no StatefulSets and hence o.IsOpenSearchReady() returns false
    24  	statefulSetLister := kubeinformers.NewSharedInformerFactory(fake.NewSimpleClientset(), constants.ResyncPeriod).Apps().V1().StatefulSets().Lister()
    25  	o := opensearch.NewOSClient(statefulSetLister)
    26  	monitor := &Monitor{}
    27  	err := monitor.MigrateOldIndices(vzlog.DefaultLogger(), &vmcontrollerv1.VerrazzanoMonitoringInstance{}, o, nil)
    28  	assert.NoError(t, err)
    29  }