status-go/metrics/node/subscribe_test.go
Alex Kohler 365bc662a2 Enable gometalinter on tests and fix static analysis issues #631 (#644)
* Enable gometalinter on tests and fix static analysis issues

* Remove unneeded change

* Fix additional lint errors

* Add nolint directives and error checks

* Add error assertions instead of nolint directives

* Go back to using lint directive for loop.Run goroutine

* Add error check to loop.Run
2018-02-12 13:16:06 +02:00

38 lines
780 B
Go

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