github.com/unionj-cloud/go-doudou/v2@v2.3.5/toolkit/memberlist/broadcast_test.go (about) 1 package memberlist_test 2 3 import ( 4 "github.com/golang/mock/gomock" 5 "github.com/stretchr/testify/require" 6 "github.com/unionj-cloud/go-doudou/v2/toolkit/memberlist" 7 memmock "github.com/unionj-cloud/go-doudou/v2/toolkit/memberlist/mock" 8 "reflect" 9 "testing" 10 ) 11 12 func TestMemberlistBroadcast_Invalidates(t *testing.T) { 13 m1 := memberlist.NewMemberlistBroadcast("test", nil, nil) 14 m2 := memberlist.NewMemberlistBroadcast("foo", nil, nil) 15 16 if m1.Invalidates(m2) || m2.Invalidates(m1) { 17 t.Fatalf("unexpected invalidation") 18 } 19 20 if !m1.Invalidates(m1) { 21 t.Fatalf("expected invalidation") 22 } 23 24 ctrl := gomock.NewController(t) 25 defer ctrl.Finish() 26 b := memmock.NewMockBroadcast(ctrl) 27 ok := m1.Invalidates(b) 28 require.False(t, ok) 29 } 30 31 func TestMemberlistBroadcast_Message(t *testing.T) { 32 m1 := memberlist.NewMemberlistBroadcast("test", []byte("test"), nil) 33 msg := m1.Message() 34 if !reflect.DeepEqual(msg, []byte("test")) { 35 t.Fatalf("messages do not match") 36 } 37 }