github.com/xmidt-org/webpa-common@v1.11.9/device/options_test.go (about) 1 package device 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/go-kit/kit/metrics/provider" 8 "github.com/gorilla/websocket" 9 "github.com/stretchr/testify/assert" 10 "github.com/xmidt-org/webpa-common/logging" 11 ) 12 13 func TestOptionsDefault(t *testing.T) { 14 assert := assert.New(t) 15 16 for _, o := range []*Options{nil, new(Options)} { 17 t.Log(o) 18 19 assert.Equal(DefaultDeviceMessageQueueSize, o.deviceMessageQueueSize()) 20 assert.NotNil(o.upgrader()) 21 assert.Equal(0, o.maxDevices()) 22 assert.Equal(DefaultIdlePeriod, o.idlePeriod()) 23 assert.Equal(DefaultPingPeriod, o.pingPeriod()) 24 assert.Equal(DefaultWriteTimeout, o.writeTimeout()) 25 assert.NotNil(o.logger()) 26 assert.Empty(o.listeners()) 27 assert.Equal(provider.NewDiscardProvider(), o.metricsProvider()) 28 } 29 } 30 31 func TestOptions(t *testing.T) { 32 var ( 33 assert = assert.New(t) 34 expectedLogger = logging.DefaultLogger() 35 expectedMetricsProvider = provider.NewPrometheusProvider("test", "test") 36 37 o = Options{ 38 Upgrader: websocket.Upgrader{ 39 HandshakeTimeout: 12377123 * time.Second, 40 ReadBufferSize: DefaultReadBufferSize + 48729, 41 WriteBufferSize: DefaultWriteBufferSize + 926, 42 Subprotocols: []string{"foobar"}, 43 }, 44 MaxDevices: 20000, 45 DeviceMessageQueueSize: DefaultDeviceMessageQueueSize + 287342, 46 IdlePeriod: DefaultIdlePeriod + 3472*time.Minute, 47 PingPeriod: DefaultPingPeriod + 384*time.Millisecond, 48 WriteTimeout: DefaultWriteTimeout + 327193*time.Second, 49 Logger: expectedLogger, 50 Listeners: []Listener{func(*Event) {}}, 51 MetricsProvider: expectedMetricsProvider, 52 } 53 ) 54 55 assert.Equal(o.DeviceMessageQueueSize, o.deviceMessageQueueSize()) 56 assert.Equal( 57 websocket.Upgrader{ 58 HandshakeTimeout: 12377123 * time.Second, 59 ReadBufferSize: DefaultReadBufferSize + 48729, 60 WriteBufferSize: DefaultWriteBufferSize + 926, 61 Subprotocols: []string{"foobar"}, 62 }, 63 *o.upgrader(), 64 ) 65 66 assert.Equal(20000, o.maxDevices()) 67 assert.Equal(o.IdlePeriod, o.idlePeriod()) 68 assert.Equal(o.PingPeriod, o.pingPeriod()) 69 assert.Equal(o.WriteTimeout, o.writeTimeout()) 70 assert.Equal(expectedLogger, o.logger()) 71 assert.Equal(o.Listeners, o.listeners()) 72 assert.Equal(expectedMetricsProvider, o.metricsProvider()) 73 }