github.com/Jeffail/benthos/v3@v3.65.0/lib/message/metadata/lazy_copy_test.go (about) 1 package metadata 2 3 import ( 4 "reflect" 5 "testing" 6 ) 7 8 //------------------------------------------------------------------------------ 9 10 func TestLazyCopyBasic(t *testing.T) { 11 expMap := map[string]string{ 12 "foo": "bar", 13 "foo2": "bar2", 14 "foo3": "bar3", 15 "foo4": "bar4", 16 "foo5": "bar5", 17 } 18 m := LazyCopy(New(expMap)) 19 if exp, act := "bar", m.Get("foo"); exp != act { 20 t.Errorf("Wrong result: %v != %v", act, exp) 21 } 22 if exp, act := "bar2", m.Get("foo2"); exp != act { 23 t.Errorf("Wrong result: %v != %v", act, exp) 24 } 25 26 actMap := map[string]string{} 27 m.Iter(func(k, v string) error { 28 actMap[k] = v 29 return nil 30 }) 31 if exp, act := expMap, actMap; !reflect.DeepEqual(exp, act) { 32 t.Errorf("Wrong result: %v != %v", act, exp) 33 } 34 35 m.Delete("foo") 36 if exp, act := "", m.Get("foo"); exp != act { 37 t.Errorf("Wrong result: %v != %v", act, exp) 38 } 39 if exp, act := "bar", expMap["foo"]; exp != act { 40 t.Errorf("Wrong result: %v != %v", act, exp) 41 } 42 43 m.Set("foo2", "woah_new") 44 if exp, act := "woah_new", m.Get("foo2"); exp != act { 45 t.Errorf("Wrong result: %v != %v", act, exp) 46 } 47 if exp, act := "bar2", expMap["foo2"]; exp != act { 48 t.Errorf("Wrong result: %v != %v", act, exp) 49 } 50 } 51 52 //------------------------------------------------------------------------------