Skip to content

Commit

Permalink
test_: added tests for updating fees when after router provides the b…
Browse files Browse the repository at this point in the history
…est route
  • Loading branch information
saledjenic committed Sep 4, 2024
1 parent 1242ab7 commit a0869cc
Show file tree
Hide file tree
Showing 11 changed files with 469 additions and 202 deletions.
3 changes: 3 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -499,3 +499,6 @@ run-integration-tests:
run-anvil: SHELL := /bin/sh
run-anvil:
docker-compose -f integration-tests/docker-compose.anvil.yml up --remove-orphans

run-integration-anvil:
docker-compose -f integration-tests-anvil/docker-compose.yml up --remove-orphans
3 changes: 3 additions & 0 deletions _assets/scripts/run_unit_tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ run_test_for_packages() {
local exit_code_file="exit_code_${iteration}.txt"
local timeout="$(( single_timeout * count))m"

# exclude integration-tests-anvil package
packages=$(echo "${packages}" | tr ' ' '\n' | grep -v '/integration-tests-anvil$' | tr '\n' ' ')

if [[ "${UNIT_TEST_DRY_RUN}" == 'true' ]]; then
echo -e "${GRN}Dry run ${iteration}. message:${RST} ${log_message}\n"\
"${YLW}Dry run ${iteration}. packages:${RST} ${packages}\n"\
Expand Down
204 changes: 33 additions & 171 deletions api/backend_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import (
"github.com/status-im/status-go/rpc"
"github.com/status-im/status-go/services/typeddata"
"github.com/status-im/status-go/services/wallet"
walletservice "github.com/status-im/status-go/services/wallet"
"github.com/status-im/status-go/services/wallet/common"
"github.com/status-im/status-go/signal"
"github.com/status-im/status-go/sqlite"
"github.com/status-im/status-go/t/helpers"
Expand Down Expand Up @@ -90,51 +90,39 @@ func setupTestMultiDB() (*multiaccounts.Database, func() error, error) {
}, nil
}

func setupGethStatusBackend() (*GethStatusBackend, func() error, func() error, func() error, error) {
func setupGethStatusBackend(t *testing.T) (*GethStatusBackend, error) {
db, stop1, err := setupTestDB()
if err != nil {
return nil, nil, nil, nil, err
return nil, err
}
backend := NewGethStatusBackend()
backend.StatusNode().SetAppDB(db)

ma, stop2, err := setupTestMultiDB()
if err != nil {
return nil, nil, nil, nil, err
return nil, err
}
backend.StatusNode().SetMultiaccountsDB(ma)

walletDb, stop3, err := setupTestWalletDB()
if err != nil {
return nil, nil, nil, nil, err
return nil, err
}
backend.StatusNode().SetWalletDB(walletDb)

return backend, stop1, stop2, stop3, err
t.Cleanup(func() {
require.NoError(t, stop1())
require.NoError(t, stop2())
require.NoError(t, stop3())
require.NoError(t, backend.StopNode())
})
return backend, err
}

func TestBackendStartNodeConcurrently(t *testing.T) {
utils.Init()

backend, stop1, stop2, stop3, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop3()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

config, err := utils.MakeTestNodeConfig(params.StatusChainNetworkID)
Expand Down Expand Up @@ -171,25 +159,7 @@ func TestBackendStartNodeConcurrently(t *testing.T) {
func TestBackendRestartNodeConcurrently(t *testing.T) {
utils.Init()

backend, stop1, stop2, stopWallet, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stopWallet()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

config, err := utils.MakeTestNodeConfig(params.StatusChainNetworkID)
Expand Down Expand Up @@ -219,25 +189,7 @@ func TestBackendRestartNodeConcurrently(t *testing.T) {
func TestBackendGettersConcurrently(t *testing.T) {
utils.Init()

backend, stop1, stop2, stopWallet, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stopWallet()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

config, err := utils.MakeTestNodeConfig(params.StatusChainNetworkID)
Expand Down Expand Up @@ -324,25 +276,7 @@ func TestBackendConnectionChangesToOffline(t *testing.T) {
func TestBackendCallRPCConcurrently(t *testing.T) {
utils.Init()

backend, stop1, stop2, stopWallet, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stopWallet()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

config, err := utils.MakeTestNodeConfig(params.StatusChainNetworkID)
Expand Down Expand Up @@ -420,25 +354,7 @@ func TestAppStateChange(t *testing.T) {
func TestBlockedRPCMethods(t *testing.T) {
utils.Init()

backend, stop1, stop2, stopWallet, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stopWallet()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

config, err := utils.MakeTestNodeConfig(params.StatusChainNetworkID)
Expand Down Expand Up @@ -480,25 +396,7 @@ func TestCallRPCWithStoppedNode(t *testing.T) {
func TestStartStopMultipleTimes(t *testing.T) {
utils.Init()

backend, stop1, stop2, stopWallet, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stopWallet()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

config, err := utils.MakeTestNodeConfig(params.StatusChainNetworkID)
Expand All @@ -519,25 +417,7 @@ func TestStartStopMultipleTimes(t *testing.T) {
func TestHashTypedData(t *testing.T) {
utils.Init()

backend, stop1, stop2, stopWallet, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stopWallet()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

config, err := utils.MakeTestNodeConfig(params.StatusChainNetworkID)
Expand Down Expand Up @@ -950,7 +830,7 @@ func TestDeleteMultiaccount(t *testing.T) {
KeyUID: generateAccount.KeyUID,
}

err = backend.ensureAppDBOpened(account, "123123")
err = backend.EnsureAppDBOpened(account, "123123")
require.NoError(t, err)

s := settings.Settings{
Expand Down Expand Up @@ -1031,25 +911,7 @@ func TestConvertAccount(t *testing.T) {

utils.Init()

backend, stop1, stop2, stopWallet, err := setupGethStatusBackend()
defer func() {
err := stop1()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stop2()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
defer func() {
err := stopWallet()
if err != nil {
require.NoError(t, backend.StopNode())
}
}()
backend, err := setupGethStatusBackend(t)
require.NoError(t, err)

backend.rootDataDir = rootDataDir
Expand All @@ -1076,7 +938,7 @@ func TestConvertAccount(t *testing.T) {
found = keystoreContainsFileForAccount(keyStoreDir, chatAddress)
require.True(t, found)

defaultSettings, err := defaultSettings(genAccInfo.KeyUID, genAccInfo.Address, derivedAccounts)
defaultSettings, err := DefaultSettings(genAccInfo.KeyUID, genAccInfo.Address, derivedAccounts)
require.NoError(t, err)
nodeConfig, err := DefaultNodeConfig(defaultSettings.InstallationID, &requests.CreateAccount{
LogLevel: defaultSettings.LogLevel,
Expand Down Expand Up @@ -1135,7 +997,7 @@ func TestConvertAccount(t *testing.T) {
KeyUID: profileKeypair.KeyUID,
}

err = backend.ensureAppDBOpened(account, password)
err = backend.EnsureAppDBOpened(account, password)
require.NoError(t, err)

err = backend.StartNodeWithAccountAndInitialConfig(account, password, *defaultSettings, nodeConfig, profileKeypair.Accounts, nil)
Expand All @@ -1160,7 +1022,7 @@ func TestConvertAccount(t *testing.T) {
}

// Ensure we're able to open the DB
err = backend.ensureAppDBOpened(keycardAccount, keycardPassword)
err = backend.EnsureAppDBOpened(keycardAccount, keycardPassword)
require.NoError(t, err)

// db creation
Expand Down Expand Up @@ -1199,7 +1061,7 @@ func TestConvertAccount(t *testing.T) {
}()

// Ensure we're able to open the DB
err = backend.ensureAppDBOpened(keycardAccount, keycardPassword)
err = backend.EnsureAppDBOpened(keycardAccount, keycardPassword)
require.NoError(t, err)

// db creation after re-encryption
Expand Down Expand Up @@ -1229,7 +1091,7 @@ func TestConvertAccount(t *testing.T) {
require.True(t, found)

// Ensure we're able to open the DB
err = backend.ensureAppDBOpened(keycardAccount, password)
err = backend.EnsureAppDBOpened(keycardAccount, password)
require.NoError(t, err)

// db creation after re-encryption
Expand Down Expand Up @@ -1412,7 +1274,7 @@ func TestCreateWallet(t *testing.T) {

walletService := statusNode.WalletService()
require.NotNil(t, walletService)
walletAPI := walletservice.NewAPI(walletService)
walletAPI := wallet.NewAPI(walletService)

paths := []string{"m/44'/60'/0'/0/1"}

Expand Down Expand Up @@ -1568,12 +1430,12 @@ func TestWalletConfigOnLoginAccount(t *testing.T) {
}

require.Equal(t, b.config.WalletConfig.InfuraAPIKey, infuraToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[mainnetChainID], alchemyEthereumMainnetToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[sepoliaChainID], alchemyEthereumSepoliaToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[arbitrumChainID], alchemyArbitrumMainnetToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[arbitrumSepoliaChainID], alchemyArbitrumSepoliaToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[optimismChainID], alchemyOptimismMainnetToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[optimismSepoliaChainID], alchemyOptimismSepoliaToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[common.EthereumMainnet], alchemyEthereumMainnetToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[common.EthereumSepolia], alchemyEthereumSepoliaToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[common.ArbitrumMainnet], alchemyArbitrumMainnetToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[common.ArbitrumSepolia], alchemyArbitrumSepoliaToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[common.OptimismMainnet], alchemyOptimismMainnetToken)
require.Equal(t, b.config.WalletConfig.AlchemyAPIKeys[common.OptimismSepolia], alchemyOptimismSepoliaToken)
require.Equal(t, b.config.WalletConfig.RaribleMainnetAPIKey, raribleMainnetAPIKey)
require.Equal(t, b.config.WalletConfig.RaribleTestnetAPIKey, raribleTestnetAPIKey)

Expand Down
2 changes: 1 addition & 1 deletion api/defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ var (
overrideApiConfig = overrideApiConfigProd
)

func defaultSettings(keyUID string, address string, derivedAddresses map[string]generator.AccountInfo) (*settings.Settings, error) {
func DefaultSettings(keyUID string, address string, derivedAddresses map[string]generator.AccountInfo) (*settings.Settings, error) {
chatKeyString := derivedAddresses[pathDefaultChat].PublicKey

s := &settings.Settings{}
Expand Down
6 changes: 3 additions & 3 deletions api/geth_backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -384,14 +384,14 @@ func (b *GethStatusBackend) ensureDBsOpened(account multiaccounts.Account, passw
return err
}

if err = b.ensureAppDBOpened(account, password); err != nil {
if err = b.EnsureAppDBOpened(account, password); err != nil {
return err
}

return nil
}

func (b *GethStatusBackend) ensureAppDBOpened(account multiaccounts.Account, password string) (err error) {
func (b *GethStatusBackend) EnsureAppDBOpened(account multiaccounts.Account, password string) (err error) {
b.mu.Lock()
defer b.mu.Unlock()
if b.appDB != nil {
Expand Down Expand Up @@ -1601,7 +1601,7 @@ func (b *GethStatusBackend) buildAccount(request *requests.CreateAccount, input
}

func (b *GethStatusBackend) prepareSettings(request *requests.CreateAccount, input *prepareAccountInput) (*settings.Settings, error) {
settings, err := defaultSettings(input.keyUID, input.address, input.derivedAddresses)
settings, err := DefaultSettings(input.keyUID, input.address, input.derivedAddresses)
if err != nil {
return nil, err
}
Expand Down
Loading

0 comments on commit a0869cc

Please sign in to comment.