github.com/status-im/status-go@v1.1.0/services/wallet/thirdparty/fourbytegithub/client_test.go (about) 1 package fourbytegithub 2 3 import ( 4 "net/http" 5 "net/http/httptest" 6 "testing" 7 8 "github.com/stretchr/testify/require" 9 ) 10 11 func TestRun(t *testing.T) { 12 srv := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 13 w.WriteHeader(200) 14 _, err := w.Write([]byte("transfer(address,uint256)")) 15 if err != nil { 16 return 17 } 18 })) 19 defer srv.Close() 20 21 fb := NewClient() 22 fb.Client = srv.Client() 23 fb.URL = srv.URL 24 25 res, err := fb.Run("0xa9059cbb000000000000000000000000e0e40d81121d41a7d85d8d2462b475074f9df5ec0000000000000000000000000000000000000000000000000000000077359400") 26 require.Nil(t, err) 27 require.Equal(t, res.Signature, "transfer(address,uint256)") 28 require.Equal(t, res.ID, "0xa9059cbb") 29 require.Equal(t, res.Name, "transfer") 30 require.Equal(t, res.Inputs, map[string]string{ 31 "0": "0x3030303030303030303030306530653430643831", 32 "1": "22252012820881184517742036120632151212095838186768864961872069019727748752739", 33 }) 34 }