github.com/mongodb/grip@v0.0.0-20240213223901-f906268d82b9/message/fields_test.go (about) 1 package message 2 3 import ( 4 "testing" 5 6 "github.com/mongodb/grip/level" 7 "github.com/stretchr/testify/assert" 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestFieldsLevelMutability(t *testing.T) { 12 assert := assert.New(t) // nolint 13 14 m := Fields{"message": "hello world"} 15 c := ConvertToComposer(level.Error, m) 16 17 r := c.Raw().(Fields) 18 assert.Equal(level.Error, c.Priority()) 19 assert.Equal(level.Error, r["metadata"].(*Base).Level) 20 21 c = ConvertToComposer(level.Info, m) 22 r = c.Raw().(Fields) 23 assert.Equal(level.Info, c.Priority()) 24 assert.Equal(level.Info, r["metadata"].(*Base).Level) 25 } 26 27 func TestFields(t *testing.T) { 28 t.Run("NewFieldsMessageCollectsBasicMetadata", func(t *testing.T) { 29 m := Fields{"message": "hello world"} 30 c := NewFields(level.Error, m) 31 r, ok := c.Raw().(Fields) 32 require.True(t, ok) 33 assert.Equal(t, level.Error, c.Priority()) 34 base, ok := r["metadata"].(*Base) 35 require.True(t, ok) 36 assert.Equal(t, level.Error, base.Level) 37 assert.Zero(t, base.Context) 38 assert.Zero(t, base.Hostname) 39 assert.Zero(t, base.Pid) 40 assert.Zero(t, base.Process) 41 assert.NotZero(t, base.Time) 42 }) 43 t.Run("NewExtendedFieldsCollectsExtendedMetadata", func(t *testing.T) { 44 m := Fields{"message": "hello world"} 45 c := NewExtendedFields(level.Error, m) 46 r, ok := c.Raw().(Fields) 47 require.True(t, ok) 48 assert.Equal(t, level.Error, c.Priority()) 49 base, ok := r["metadata"].(*Base) 50 require.True(t, ok) 51 assert.Equal(t, level.Error, base.Level) 52 assert.Zero(t, base.Context) 53 assert.NotZero(t, base.Hostname) 54 assert.NotZero(t, base.Pid) 55 assert.NotZero(t, base.Process) 56 assert.NotZero(t, base.Time) 57 }) 58 t.Run("NewSimpleFieldsHasNoMetadata", func(t *testing.T) { 59 m := Fields{"message": "hello world"} 60 c := NewSimpleFields(level.Error, m) 61 r, ok := c.Raw().(Fields) 62 require.True(t, ok) 63 assert.Equal(t, level.Error, c.Priority()) 64 assert.Zero(t, r["metadata"]) 65 }) 66 }