github.com/status-im/status-go@v1.1.0/services/wallet/keycard_pairings_test.go (about) 1 package wallet 2 3 import ( 4 "io/ioutil" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/ethereum/go-ethereum/event" 10 11 "github.com/status-im/status-go/appdatabase" 12 "github.com/status-im/status-go/multiaccounts/accounts" 13 "github.com/status-im/status-go/params" 14 "github.com/status-im/status-go/rpc" 15 "github.com/status-im/status-go/rpc/network" 16 "github.com/status-im/status-go/t/helpers" 17 "github.com/status-im/status-go/walletdatabase" 18 ) 19 20 func TestKeycardPairingsFile(t *testing.T) { 21 appDB, err := helpers.SetupTestMemorySQLDB(appdatabase.DbInitializer{}) 22 require.NoError(t, err) 23 24 accountsDb, err := accounts.NewDB(appDB) 25 require.NoError(t, err) 26 27 db, err := helpers.SetupTestMemorySQLDB(walletdatabase.DbInitializer{}) 28 require.NoError(t, err) 29 30 accountFeed := &event.Feed{} 31 32 service := NewService(db, accountsDb, appDB, &rpc.Client{NetworkManager: network.NewManager(db)}, accountFeed, nil, nil, nil, ¶ms.NodeConfig{}, nil, nil, nil, nil, nil, "") 33 34 data, err := service.KeycardPairings().GetPairingsJSONFileContent() 35 require.NoError(t, err) 36 require.Equal(t, 0, len(data)) 37 38 pairingsFile, err := ioutil.TempFile("", "keycard-pairings.json") 39 require.NoError(t, err) 40 defer pairingsFile.Close() 41 42 service.KeycardPairings().SetKeycardPairingsFile(pairingsFile.Name()) 43 44 dataToStore := []byte(` 45 {"2b907a26ee4319ab50d7eda44b525f6a":{"key":"cc9d96f9b65b551595f3cf7c531beacda24b4937cece7fef70f5236ee80a0808","index":0}, 46 "4abcc337a3dfc7e89785c427ef32983b":{"key":"3543288f50b2c0bbb2745ffd7107bc3acd105197b97384342fe864e7391a7af7","index":3}, 47 "4b2e0fe09f997d7ce20320c971ad54df":{"key":"843edb10045d329f4ecfac73fe66f13deb7b2b685dd54a4b2d2d700d19062391","index":0}, 48 "7ce8e7456eb9025a97f3579490246cae":{"key":"b12a89ca66288f4239a2b58c2bb533df2694b613eb73fc55b72391497627766f","index":1}} 49 `) 50 51 err = service.KeycardPairings().SetPairingsJSONFileContent(dataToStore) 52 require.NoError(t, err) 53 54 data, err = service.KeycardPairings().GetPairingsJSONFileContent() 55 require.NoError(t, err) 56 require.Equal(t, len(dataToStore), len(data)) 57 }