github.com/status-im/status-go@v1.1.0/api/default_networks_test.go (about) 1 package api 2 3 import ( 4 "strings" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/status-im/status-go/protocol/requests" 10 ) 11 12 func TestBuildDefaultNetworks(t *testing.T) { 13 poktToken := "grove-token" 14 infuraToken := "infura-token" 15 stageName := "fast-n-bulbous" 16 request := &requests.CreateAccount{ 17 WalletSecretsConfig: requests.WalletSecretsConfig{ 18 PoktToken: poktToken, 19 InfuraToken: infuraToken, 20 StatusProxyStageName: stageName, 21 }, 22 } 23 24 actualNetworks := BuildDefaultNetworks(&request.WalletSecretsConfig) 25 26 require.Len(t, actualNetworks, 9) 27 28 require.Equal(t, mainnetChainID, actualNetworks[0].ChainID) 29 30 require.True(t, strings.Contains(actualNetworks[0].RPCURL, poktToken)) 31 require.True(t, strings.Contains(actualNetworks[0].FallbackURL, infuraToken)) 32 require.True(t, strings.Contains(actualNetworks[0].DefaultRPCURL, stageName)) 33 require.True(t, strings.Contains(actualNetworks[0].DefaultFallbackURL, stageName)) 34 35 require.Equal(t, goerliChainID, actualNetworks[1].ChainID) 36 37 require.True(t, strings.Contains(actualNetworks[1].RPCURL, infuraToken)) 38 39 require.Equal(t, sepoliaChainID, actualNetworks[2].ChainID) 40 41 require.True(t, strings.Contains(actualNetworks[2].RPCURL, poktToken)) 42 require.True(t, strings.Contains(actualNetworks[2].FallbackURL, infuraToken)) 43 require.True(t, strings.Contains(actualNetworks[2].DefaultRPCURL, stageName)) 44 require.True(t, strings.Contains(actualNetworks[2].DefaultFallbackURL, stageName)) 45 46 require.Equal(t, optimismChainID, actualNetworks[3].ChainID) 47 48 require.True(t, strings.Contains(actualNetworks[3].RPCURL, poktToken)) 49 require.True(t, strings.Contains(actualNetworks[3].FallbackURL, infuraToken)) 50 require.True(t, strings.Contains(actualNetworks[3].DefaultRPCURL, stageName)) 51 require.True(t, strings.Contains(actualNetworks[3].DefaultFallbackURL, stageName)) 52 53 require.Equal(t, optimismGoerliChainID, actualNetworks[4].ChainID) 54 55 require.True(t, strings.Contains(actualNetworks[4].RPCURL, infuraToken)) 56 require.Equal(t, "", actualNetworks[4].FallbackURL) 57 58 require.Equal(t, optimismSepoliaChainID, actualNetworks[5].ChainID) 59 60 require.True(t, strings.Contains(actualNetworks[5].RPCURL, poktToken)) 61 require.True(t, strings.Contains(actualNetworks[5].FallbackURL, infuraToken)) 62 require.True(t, strings.Contains(actualNetworks[5].DefaultRPCURL, stageName)) 63 require.True(t, strings.Contains(actualNetworks[5].DefaultFallbackURL, stageName)) 64 65 require.Equal(t, arbitrumChainID, actualNetworks[6].ChainID) 66 67 require.True(t, strings.Contains(actualNetworks[6].RPCURL, poktToken)) 68 require.True(t, strings.Contains(actualNetworks[6].FallbackURL, infuraToken)) 69 require.True(t, strings.Contains(actualNetworks[6].DefaultRPCURL, stageName)) 70 require.True(t, strings.Contains(actualNetworks[6].DefaultFallbackURL, stageName)) 71 72 require.Equal(t, arbitrumGoerliChainID, actualNetworks[7].ChainID) 73 74 require.True(t, strings.Contains(actualNetworks[7].RPCURL, infuraToken)) 75 require.Equal(t, "", actualNetworks[7].FallbackURL) 76 77 require.Equal(t, arbitrumSepoliaChainID, actualNetworks[8].ChainID) 78 79 require.True(t, strings.Contains(actualNetworks[8].RPCURL, poktToken)) 80 require.True(t, strings.Contains(actualNetworks[8].FallbackURL, infuraToken)) 81 require.True(t, strings.Contains(actualNetworks[8].DefaultRPCURL, stageName)) 82 require.True(t, strings.Contains(actualNetworks[8].DefaultFallbackURL, stageName)) 83 84 } 85 86 func TestBuildDefaultNetworksGanache(t *testing.T) { 87 ganacheURL := "ganacheurl" 88 request := &requests.CreateAccount{ 89 WalletSecretsConfig: requests.WalletSecretsConfig{ 90 GanacheURL: ganacheURL, 91 }, 92 } 93 94 actualNetworks := BuildDefaultNetworks(&request.WalletSecretsConfig) 95 96 require.Len(t, actualNetworks, 9) 97 98 for _, n := range actualNetworks { 99 require.True(t, strings.Contains(n.RPCURL, ganacheURL)) 100 require.True(t, strings.Contains(n.FallbackURL, ganacheURL)) 101 102 } 103 104 require.Equal(t, mainnetChainID, actualNetworks[0].ChainID) 105 106 require.NotNil(t, actualNetworks[0].TokenOverrides) 107 require.Len(t, actualNetworks[0].TokenOverrides, 1) 108 require.Equal(t, sntSymbol, actualNetworks[0].TokenOverrides[0].Symbol) 109 require.Equal(t, ganacheTokenAddress, actualNetworks[0].TokenOverrides[0].Address) 110 111 require.Equal(t, goerliChainID, actualNetworks[1].ChainID) 112 113 require.NotNil(t, actualNetworks[1].TokenOverrides) 114 require.Len(t, actualNetworks[1].TokenOverrides, 1) 115 require.Equal(t, sttSymbol, actualNetworks[1].TokenOverrides[0].Symbol) 116 require.Equal(t, ganacheTokenAddress, actualNetworks[1].TokenOverrides[0].Address) 117 118 }