1
0
Fork 0
telegraf/plugins/processors/ifname/ttl_cache_test.go

44 lines
736 B
Go
Raw Permalink Normal View History

package ifname
import (
"testing"
"time"
"github.com/stretchr/testify/require"
)
func TestTTLCacheExpire(t *testing.T) {
c := NewTTLCache(1*time.Second, 100)
c.now = func() time.Time {
return time.Unix(0, 0)
}
c.Put("ones", nameMap{1: "one"})
require.Len(t, c.lru.m, 1)
c.now = func() time.Time {
return time.Unix(1, 0)
}
_, ok, _ := c.Get("ones")
require.False(t, ok)
require.Empty(t, c.lru.m)
require.Equal(t, 0, c.lru.l.Len())
}
func TestTTLCache(t *testing.T) {
c := NewTTLCache(1*time.Second, 100)
c.now = func() time.Time {
return time.Unix(0, 0)
}
expected := nameMap{1: "one"}
c.Put("ones", expected)
actual, ok, _ := c.Get("ones")
require.True(t, ok)
require.Equal(t, expected, actual)
}