github.com/status-im/status-go@v1.1.0/services/wakuext/api_test.go (about) 1 package wakuext 2 3 import ( 4 "io/ioutil" 5 "testing" 6 7 "go.uber.org/zap" 8 9 "github.com/stretchr/testify/require" 10 "github.com/syndtr/goleveldb/leveldb" 11 "github.com/syndtr/goleveldb/leveldb/storage" 12 13 "github.com/ethereum/go-ethereum/event" 14 "github.com/status-im/status-go/appdatabase" 15 gethbridge "github.com/status-im/status-go/eth-node/bridge/geth" 16 "github.com/status-im/status-go/eth-node/crypto" 17 "github.com/status-im/status-go/multiaccounts" 18 "github.com/status-im/status-go/params" 19 "github.com/status-im/status-go/services/ext" 20 "github.com/status-im/status-go/t/helpers" 21 "github.com/status-im/status-go/waku" 22 "github.com/status-im/status-go/walletdatabase" 23 ) 24 25 func TestInitProtocol(t *testing.T) { 26 config := params.NodeConfig{ 27 RootDataDir: t.TempDir(), 28 ShhextConfig: params.ShhextConfig{ 29 InstallationID: "2", 30 PFSEnabled: true, 31 MailServerConfirmations: true, 32 ConnectionTarget: 10, 33 }, 34 } 35 db, err := leveldb.Open(storage.NewMemStorage(), nil) 36 require.NoError(t, err) 37 38 waku := gethbridge.NewGethWakuWrapper(waku.New(nil, nil)) 39 privateKey, err := crypto.GenerateKey() 40 require.NoError(t, err) 41 42 nodeWrapper := ext.NewTestNodeWrapper(nil, waku) 43 service := New(config, nodeWrapper, nil, nil, db) 44 45 appDB, cleanupDB, err := helpers.SetupTestSQLDB(appdatabase.DbInitializer{}, "db.sql") 46 defer func() { require.NoError(t, cleanupDB()) }() 47 require.NoError(t, err) 48 49 tmpfile, err := ioutil.TempFile("", "multi-accounts-tests-") 50 require.NoError(t, err) 51 multiAccounts, err := multiaccounts.InitializeDB(tmpfile.Name()) 52 require.NoError(t, err) 53 54 acc := &multiaccounts.Account{KeyUID: "0xdeadbeef"} 55 56 walletDB, cleanupWalletDB, err := helpers.SetupTestSQLDB(walletdatabase.DbInitializer{}, "db-wallet.sql") 57 defer func() { require.NoError(t, cleanupWalletDB()) }() 58 require.NoError(t, err) 59 60 accountsFeed := &event.Feed{} 61 62 err = service.InitProtocol("Test", privateKey, appDB, walletDB, nil, multiAccounts, acc, nil, nil, nil, nil, nil, zap.NewNop(), accountsFeed) 63 require.NoError(t, err) 64 }