status-go/metrics/node/subscribe_test.go
2018-06-14 13:52:51 +02:00

38 lines
804 B
Go

package node
import (
"context"
"testing"
"github.com/ethereum/go-ethereum/node"
"github.com/stretchr/testify/require"
)
func TestSubscribeServerEventsWithoutServer(t *testing.T) {
gethNode, err := node.New(&node.Config{})
require.NoError(t, err)
require.EqualError(t, SubscribeServerEvents(context.TODO(), gethNode), "server is unavailable")
}
func TestSubscribeServerEvents(t *testing.T) {
gethNode, err := node.New(&node.Config{})
require.NoError(t, err)
err = gethNode.Start()
require.NoError(t, err)
defer func() {
err := gethNode.Stop()
require.NoError(t, err)
}()
ctx, cancel := context.WithCancel(context.Background())
done := make(chan struct{})
go func() {
err := SubscribeServerEvents(ctx, gethNode)
require.NoError(t, err)
close(done)
}()
cancel()
<-done
}