github.com/Axway/agent-sdk@v1.1.101/pkg/agent/events/sequence_test.go (about)

     1  package events
     2  
     3  import (
     4  	"testing"
     5  
     6  	agentcache "github.com/Axway/agent-sdk/pkg/agent/cache"
     7  	"github.com/Axway/agent-sdk/pkg/cache"
     8  	"github.com/Axway/agent-sdk/pkg/config"
     9  	"github.com/stretchr/testify/assert"
    10  )
    11  
    12  func Test_GetSequence(t *testing.T) {
    13  	tests := []struct {
    14  		name          string
    15  		hasErr        bool
    16  		key           string
    17  		setVal        float64
    18  		sequenceCache cache.Cache
    19  		want          int64
    20  	}{
    21  		{
    22  			name:   "should have matching values, no error",
    23  			hasErr: false,
    24  			key:    "watchTopicName_0",
    25  			want:   0,
    26  		},
    27  		{
    28  			name:   "should have matching values, no error",
    29  			hasErr: false,
    30  			key:    "watchTopicName_200",
    31  			want:   200,
    32  		},
    33  		{
    34  			name:   "should have incorrect Key and return default value: 0, has NO error",
    35  			hasErr: false,
    36  			key:    "wrongKey1",
    37  			setVal: 102,
    38  			want:   0,
    39  		},
    40  	}
    41  	cacheManager := agentcache.NewAgentCacheManager(&config.CentralConfiguration{}, false)
    42  	cacheManager.AddSequence("watchTopicName_0", 0)
    43  	cacheManager.AddSequence("watchTopicName_200", 200)
    44  	for _, tt := range tests {
    45  		t.Run(tt.name, func(t *testing.T) {
    46  
    47  			s := &agentSequenceManager{
    48  				cacheManager,
    49  				tt.key,
    50  			}
    51  
    52  			if got := s.GetSequence(); got != tt.want {
    53  				if !tt.hasErr {
    54  					t.Errorf("agentSequenceManager.GetSequence() = %v, want %v", got, tt.want)
    55  				}
    56  			} else {
    57  				assert.Equal(t, got, tt.want)
    58  			}
    59  		})
    60  	}
    61  }
    62  
    63  func Test_getAgentSequenceManager(t *testing.T) {
    64  	wtName := "fake"
    65  	cacheManager := agentcache.NewAgentCacheManager(&config.CentralConfiguration{}, false)
    66  	seq := NewSequenceProvider(cacheManager, wtName)
    67  	assert.Equal(t, seq.GetSequence(), int64(0))
    68  
    69  	seq = NewSequenceProvider(cacheManager, "")
    70  	assert.Equal(t, seq.GetSequence(), int64(0))
    71  }