github.com/operator-framework/operator-lifecycle-manager@v0.30.0/pkg/lib/operatorstatus/monitor_test.go (about)

     1  package operatorstatus
     2  
     3  import (
     4  	"fmt"
     5  	"testing"
     6  	"time"
     7  
     8  	configv1 "github.com/openshift/api/config/v1"
     9  	"github.com/stretchr/testify/assert"
    10  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    11  	utilclock "k8s.io/utils/clock/testing"
    12  )
    13  
    14  func TestMonitorWaiting(t *testing.T) {
    15  	fakeClock := utilclock.NewFakeClock(time.Now())
    16  	name := "foo"
    17  
    18  	statusWant := &configv1.ClusterOperatorStatus{
    19  		Conditions: []configv1.ClusterOperatorStatusCondition{
    20  			{
    21  				Type:               configv1.OperatorDegraded,
    22  				Status:             configv1.ConditionFalse,
    23  				LastTransitionTime: metav1.NewTime(fakeClock.Now()),
    24  			},
    25  			{
    26  				Type:               configv1.OperatorAvailable,
    27  				Status:             configv1.ConditionFalse,
    28  				LastTransitionTime: metav1.NewTime(fakeClock.Now()),
    29  			},
    30  			{
    31  				Type:               configv1.OperatorProgressing,
    32  				Status:             configv1.ConditionTrue,
    33  				Message:            fmt.Sprintf("waiting for events - source=%s", name),
    34  				LastTransitionTime: metav1.NewTime(fakeClock.Now()),
    35  			},
    36  		},
    37  		Versions:       []configv1.OperandVersion{},
    38  		RelatedObjects: []configv1.ObjectReference{},
    39  	}
    40  
    41  	statusGot := Waiting(fakeClock, name)
    42  
    43  	assert.Equal(t, statusWant, statusGot)
    44  }