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 }