status-go/geth/node_manager_test.go

55 lines
1.4 KiB
Go
Raw Normal View History

package geth_test
import (
2016-09-15 03:08:06 +00:00
"os"
"path/filepath"
"testing"
2016-09-15 03:08:06 +00:00
"time"
"github.com/status-im/status-go/geth"
)
const (
testAddress = "0xadaf150b905cf5e6a778e553e15a139b6618bbb7"
testAddressPassword = "asdfasdf"
newAccountPassword = "badpassword"
testAddress1 = "0xadd4d1d02e71c7360c53296968e59d57fd15e2ba"
whisperMessage1 = "test message 1 (K1 -> K1)"
whisperMessage2 = "test message 2 (K1 -> '')"
whisperMessage3 = "test message 3 ('' -> '')"
whisperMessage4 = "test message 4 ('' -> K1)"
whisperMessage5 = "test message 5 (K2 -> K1)"
)
2016-09-15 03:08:06 +00:00
func TestMain(m *testing.M) {
syncRequired := false
2016-09-28 08:07:30 +00:00
if _, err := os.Stat(filepath.Join(geth.TestDataDir, "testnet")); os.IsNotExist(err) {
syncRequired = true
}
2016-09-15 03:08:06 +00:00
// make sure you panic if node start signal is not received
signalRecieved := make(chan struct{}, 1)
abortPanic := make(chan struct{}, 1)
if syncRequired {
geth.PanicAfter(geth.TestNodeSyncSeconds*time.Second, abortPanic, "TestNodeSetup")
} else {
geth.PanicAfter(10*time.Second, abortPanic, "TestNodeSetup")
}
2016-09-15 03:08:06 +00:00
geth.SetDefaultNodeNotificationHandler(func(jsonEvent string) {
if jsonEvent == `{"type":"node.started","event":{}}` {
signalRecieved <- struct{}{}
}
})
err := geth.PrepareTestNode()
if err != nil {
2016-09-15 03:08:06 +00:00
panic(err)
}
2016-09-15 03:08:06 +00:00
<-signalRecieved // block and wait for either panic or successful signal
abortPanic <- struct{}{}
2016-09-15 03:08:06 +00:00
os.Exit(m.Run())
}