github.com/status-im/status-go@v1.1.0/services/connector/commands/accounts_test.go (about) 1 package commands 2 3 import ( 4 "testing" 5 6 "github.com/stretchr/testify/assert" 7 8 "github.com/status-im/status-go/eth-node/types" 9 ) 10 11 func TestFailToGetAccountWithMissingDAppFields(t *testing.T) { 12 db, close := SetupTestDB(t) 13 defer close() 14 15 cmd := &AccountsCommand{Db: db} 16 17 // Missing DApp fields 18 request, err := ConstructRPCRequest("eth_accounts", []interface{}{}, nil) 19 assert.NoError(t, err) 20 21 result, err := cmd.Execute(request) 22 assert.Equal(t, ErrRequestMissingDAppData, err) 23 assert.Empty(t, result) 24 } 25 26 func TestFailToGetAccountForUnpermittedDApp(t *testing.T) { 27 db, close := SetupTestDB(t) 28 defer close() 29 30 cmd := &AccountsCommand{Db: db} 31 32 request, err := ConstructRPCRequest("eth_accounts", []interface{}{}, &testDAppData) 33 assert.NoError(t, err) 34 35 result, err := cmd.Execute(request) 36 assert.Equal(t, ErrDAppIsNotPermittedByUser, err) 37 assert.Empty(t, result) 38 } 39 40 func TestGetAccountForPermittedDApp(t *testing.T) { 41 db, close := SetupTestDB(t) 42 defer close() 43 44 cmd := &AccountsCommand{Db: db} 45 46 sharedAccount := types.HexToAddress("0x6d0aa2a774b74bb1d36f97700315adf962c69fcg") 47 48 err := PersistDAppData(db, testDAppData, sharedAccount, 0x123) 49 assert.NoError(t, err) 50 51 request, err := ConstructRPCRequest("eth_accounts", []interface{}{}, &testDAppData) 52 assert.NoError(t, err) 53 54 expectedResponse := FormatAccountAddressToResponse(sharedAccount) 55 response, err := cmd.Execute(request) 56 assert.NoError(t, err) 57 assert.Equal(t, expectedResponse, response) 58 }