laconicd/ethereum/rpc/pubsub/pubsub_test.go

70 lines
1.4 KiB
Go
Raw Normal View History

2021-04-18 16:39:15 +00:00
package pubsub
// func TestAddTopic(t *testing.T) {
// q := NewEventBus()
// err := q.AddTopic("kek", make(<-chan coretypes.ResultEvent))
// require.NoError(t, err)
// err = q.AddTopic("lol", make(<-chan coretypes.ResultEvent))
// require.NoError(t, err)
// err = q.AddTopic("lol", make(<-chan coretypes.ResultEvent))
// require.Error(t, err)
// require.EqualValues(t, []string{"kek", "lol"}, q.Topics())
// }
// func TestSubscribe(t *testing.T) {
// q := NewEventBus()
// kekSrc := make(chan coretypes.ResultEvent)
// q.AddTopic("kek", kekSrc)
// lolSrc := make(chan coretypes.ResultEvent)
// q.AddTopic("lol", lolSrc)
// kekSubC, err := q.Subscribe("kek")
// require.NoError(t, err)
// lolSubC, err := q.Subscribe("lol")
// require.NoError(t, err)
// lol2SubC, err := q.Subscribe("lol")
// require.NoError(t, err)
// wg := new(sync.WaitGroup)
// wg.Add(4)
// go func() {
// defer wg.Done()
// msg := <-kekSubC
// log.Println("kek:", msg)
// require.EqualValues(t, 1, msg)
// }()
// go func() {
// defer wg.Done()
// msg := <-lolSubC
// log.Println("lol:", msg)
// require.EqualValues(t, 1, msg)
// }()
// go func() {
// defer wg.Done()
// msg := <-lol2SubC
// log.Println("lol2:", msg)
// require.EqualValues(t, 1, msg)
// }()
// go func() {
// defer wg.Done()
// time.Sleep(time.Second)
// close(kekSrc)
// close(lolSrc)
// }()
// wg.Wait()
// time.Sleep(time.Second)
// }