func TestMarshalling(t *testing.T) { SetConfigType("yaml") r := bytes.NewReader(yamlExample) marshalReader(r, v.config) assert.True(t, InConfig("name")) assert.False(t, InConfig("state")) assert.Equal(t, "steve", Get("name")) assert.Equal(t, []interface{}{"skateboarding", "snowboarding", "go"}, Get("hobbies")) assert.Equal(t, map[interface{}]interface{}{"jacket": "leather", "trousers": "denim"}, Get("clothing")) assert.Equal(t, 35, Get("age")) }
func TestReadBufConfig(t *testing.T) { v := New() v.SetConfigType("yaml") v.ReadConfig(bytes.NewBuffer(yamlExample)) t.Log(v.AllKeys()) assert.True(t, v.InConfig("name")) assert.False(t, v.InConfig("state")) assert.Equal(t, "steve", v.Get("name")) assert.Equal(t, []interface{}{"skateboarding", "snowboarding", "go"}, v.Get("hobbies")) assert.Equal(t, map[interface{}]interface{}{"jacket": "leather", "trousers": "denim"}, v.Get("clothing")) assert.Equal(t, 35, v.Get("age")) }
func TestClose(t *testing.T) { defer initTestClient() c.close() ok := false done := make(chan struct{}) go func() { _, ok = <-c.out _, ok = <-c.Messages close(done) }() select { case <-done: assert.False(t, ok) return case <-time.After(100 * time.Millisecond): t.Error("Channels not closed") } }
func TestRecvTriggersReconnect(t *testing.T) { c.reader = bufio.NewReader(&bytes.Buffer{}) c.ready.Add(1) done := make(chan struct{}) ok := false go func() { c.recv() _, ok = <-c.reconnect close(done) }() select { case <-done: assert.False(t, ok) return case <-time.After(100 * time.Millisecond): t.Error("Reconnect not triggered") } }