github.com/verrazzano/verrazzano@v1.7.1/tools/psr/backend/workers/example/worker_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 example
     5  
     6  import (
     7  	"github.com/stretchr/testify/assert"
     8  	"github.com/verrazzano/verrazzano/pkg/log/vzlog"
     9  	"github.com/verrazzano/verrazzano/tools/psr/backend/config"
    10  	"testing"
    11  )
    12  
    13  // TestGetters tests the worker getters
    14  // GIVEN a worker
    15  //
    16  //	WHEN the getter methods are calls
    17  //	THEN ensure that the correct results are returned
    18  func TestGetters(t *testing.T) {
    19  	w, err := NewExampleWorker()
    20  	assert.NoError(t, err)
    21  
    22  	wd := w.GetWorkerDesc()
    23  	assert.Equal(t, config.WorkerTypeExample, wd.WorkerType)
    24  	assert.Equal(t, "Example worker that demonstrates executing a fake use case", wd.Description)
    25  	assert.Equal(t, config.WorkerTypeExample, wd.MetricsPrefix)
    26  
    27  	el := w.GetEnvDescList()
    28  	assert.Len(t, el, 0)
    29  	mdl := w.GetMetricDescList()
    30  	assert.Len(t, mdl, 0)
    31  	ml := w.GetMetricList()
    32  	assert.Len(t, ml, 0)
    33  	logged := w.WantLoopInfoLogged()
    34  	assert.True(t, logged)
    35  }
    36  
    37  // TestDoWork tests the DoWork method
    38  // GIVEN a worker
    39  //
    40  //	WHEN the DoWork methods is called
    41  //	THEN ensure that the correct results are returned
    42  func TestDoWork(t *testing.T) {
    43  	w, err := NewExampleWorker()
    44  	assert.NoError(t, err)
    45  
    46  	err = w.DoWork(config.CommonConfig{
    47  		WorkerType: "Fake",
    48  	}, vzlog.DefaultLogger())
    49  	assert.NoError(t, err)
    50  
    51  	ew := w.(exampleWorker)
    52  	assert.Equal(t, int64(1), ew.loggedLinesTotal)
    53  }