1package statsd 2 3import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/assert" 8) 9 10func TestDefaultOptions(t *testing.T) { 11 options, err := resolveOptions([]Option{}) 12 13 assert.NoError(t, err) 14 assert.Equal(t, options.Namespace, DefaultNamespace) 15 assert.Equal(t, options.Tags, DefaultTags) 16 assert.Equal(t, options.MaxBytesPerPayload, DefaultMaxBytesPerPayload) 17 assert.Equal(t, options.MaxMessagesPerPayload, DefaultMaxMessagesPerPayload) 18 assert.Equal(t, options.BufferPoolSize, DefaultBufferPoolSize) 19 assert.Equal(t, options.BufferFlushInterval, DefaultBufferFlushInterval) 20 assert.Equal(t, options.SenderQueueSize, DefaultSenderQueueSize) 21 assert.Equal(t, options.WriteTimeoutUDS, DefaultWriteTimeoutUDS) 22} 23 24func TestOptions(t *testing.T) { 25 testNamespace := "datadog." 26 testTags := []string{"rocks"} 27 testMaxBytesPerPayload := 2048 28 testMaxMessagePerPayload := 1024 29 testBufferPoolSize := 32 30 testBufferFlushInterval := 48 * time.Second 31 testSenderQueueSize := 64 32 testWriteTimeoutUDS := 1 * time.Minute 33 34 options, err := resolveOptions([]Option{ 35 WithNamespace(testNamespace), 36 WithTags(testTags), 37 WithMaxBytesPerPayload(testMaxBytesPerPayload), 38 WithMaxMessagesPerPayload(testMaxMessagePerPayload), 39 WithBufferPoolSize(testBufferPoolSize), 40 WithBufferFlushInterval(testBufferFlushInterval), 41 WithSenderQueueSize(testSenderQueueSize), 42 WithWriteTimeoutUDS(testWriteTimeoutUDS), 43 }) 44 45 assert.NoError(t, err) 46 assert.Equal(t, options.Namespace, testNamespace) 47 assert.Equal(t, options.Tags, testTags) 48 assert.Equal(t, options.MaxBytesPerPayload, testMaxBytesPerPayload) 49 assert.Equal(t, options.MaxMessagesPerPayload, testMaxMessagePerPayload) 50 assert.Equal(t, options.BufferPoolSize, testBufferPoolSize) 51 assert.Equal(t, options.BufferFlushInterval, testBufferFlushInterval) 52 assert.Equal(t, options.SenderQueueSize, testSenderQueueSize) 53 assert.Equal(t, options.WriteTimeoutUDS, testWriteTimeoutUDS) 54} 55