fixed tests + removed indexed txs

This commit is contained in:
Fabian Weber 2018-03-14 16:18:47 +01:00 committed by Ethan Buchman
parent cf6f04978c
commit cbbb3be0d4
3 changed files with 66 additions and 32 deletions

View File

@ -14,6 +14,7 @@ import (
"github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client"
keys "github.com/cosmos/cosmos-sdk/client/keys" keys "github.com/cosmos/cosmos-sdk/client/keys"
"github.com/cosmos/cosmos-sdk/tests" "github.com/cosmos/cosmos-sdk/tests"
"github.com/cosmos/cosmos-sdk/x/auth"
"github.com/stretchr/testify/assert" "github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require" "github.com/stretchr/testify/require"
@ -198,33 +199,36 @@ func TestCoinSend(t *testing.T) {
require.Equal(t, http.StatusNoContent, res.StatusCode, body) require.Equal(t, http.StatusNoContent, res.StatusCode, body)
// create TX // create TX
addr, receiveAddr := doSend(t, port, seed) addr, receiveAddr, resultTx := doSend(t, port, seed)
time.Sleep(time.Second * 2) // T
// check if tx was commited
assert.Equal(t, 0, resultTx.CheckTx.Code)
assert.Equal(t, 0, resultTx.DeliverTx.Code)
// query sender // query sender
res, body = request(t, port, "GET", "/accounts/"+addr, nil) res, body = request(t, port, "GET", "/accounts/"+addr, nil)
require.Equal(t, http.StatusOK, res.StatusCode, body) require.Equal(t, http.StatusOK, res.StatusCode, body)
assert.Equal(t, `{ var m auth.BaseAccount
"coins": [ err := json.Unmarshal([]byte(body), &m)
{ require.Nil(t, err)
"denom": "mycoin", coins := m.Coins
"amount": 9007199254740991 mycoins := coins[0]
} assert.Equal(t, "mycoin", mycoins.Denom)
] assert.Equal(t, int64(9007199254740991), mycoins.Amount)
}`, body)
// query receiver // query receiver
res, body = request(t, port, "GET", "/accounts/"+receiveAddr, nil) res, body = request(t, port, "GET", "/accounts/"+receiveAddr, nil)
require.Equal(t, http.StatusOK, res.StatusCode, body) require.Equal(t, http.StatusOK, res.StatusCode, body)
assert.Equal(t, `{ err = json.Unmarshal([]byte(body), &m)
"coins": [ require.Nil(t, err)
{ coins = m.Coins
"denom": "mycoin", mycoins = coins[0]
"amount": 1 assert.Equal(t, "mycoin", mycoins.Denom)
} assert.Equal(t, int64(1), mycoins.Amount)
]
}`, body)
} }
func TestTxs(t *testing.T) { func TestTxs(t *testing.T) {
@ -242,21 +246,25 @@ func TestTxs(t *testing.T) {
assert.Equal(t, "[]", body) assert.Equal(t, "[]", body)
// create TX // create TX
addr, receiveAddr := doSend(t, port, seed) _, _, resultTx := doSend(t, port, seed)
// query sender time.Sleep(time.Second * 2) // TO
res, body = request(t, port, "GET", fmt.Sprintf("/txs?tag=coin.sender='%s'", addr), nil)
// check if tx is findable
res, body = request(t, port, "GET", fmt.Sprintf("/txs/%s", resultTx.Hash), nil)
require.Equal(t, http.StatusOK, res.StatusCode, body) require.Equal(t, http.StatusOK, res.StatusCode, body)
assert.NotEqual(t, "[]", body) // // query sender
// res, body = request(t, port, "GET", fmt.Sprintf("/txs?tag=coin.sender='%s'", addr), nil)
// require.Equal(t, http.StatusOK, res.StatusCode, body)
// query receiver // assert.NotEqual(t, "[]", body)
res, body = request(t, port, "GET", fmt.Sprintf("/txs?tag=coin.receiver='%s'", receiveAddr), nil)
require.Equal(t, http.StatusOK, res.StatusCode, body)
assert.NotEqual(t, "[]", body) // // query receiver
// res, body = request(t, port, "GET", fmt.Sprintf("/txs?tag=coin.receiver='%s'", receiveAddr), nil)
// require.Equal(t, http.StatusOK, res.StatusCode, body)
// get TX by hash // assert.NotEqual(t, "[]", body)
} }
//__________________________________________________________ //__________________________________________________________
@ -268,11 +276,12 @@ func junkInit(t *testing.T) (kill func(), port string, seed string) {
require.Nil(t, err) require.Nil(t, err)
seed = tests.TestInitBasecoin(t, dir) seed = tests.TestInitBasecoin(t, dir)
cmdStart := tests.StartNodeServerForTest(t, dir) cmdNode := tests.StartNodeServerForTest(t, dir)
cmdLCD, port := tests.StartLCDServerForTest(t, dir) cmdLCD, port := tests.StartLCDServerForTest(t, dir)
kill = func() { kill = func() {
cmdLCD.Process.Kill() cmdLCD.Process.Kill()
cmdStart.Process.Kill() cmdNode.Process.Kill()
os.Remove(dir) os.Remove(dir)
} }
return kill, port, seed return kill, port, seed
@ -294,7 +303,7 @@ func request(t *testing.T, port, method, path string, payload []byte) (*http.Res
return res, string(output) return res, string(output)
} }
func doSend(t *testing.T, port, seed string) (sendAddr string, receiveAddr string) { func doSend(t *testing.T, port, seed string) (sendAddr string, receiveAddr string, resultTx ctypes.ResultBroadcastTxCommit) {
// create account from seed who has keys // create account from seed who has keys
var jsonStr = []byte(fmt.Sprintf(`{"name":"test", "password":"1234567890", "seed": "%s"}`, seed)) var jsonStr = []byte(fmt.Sprintf(`{"name":"test", "password":"1234567890", "seed": "%s"}`, seed))
res, body := request(t, port, "POST", "/keys", jsonStr) res, body := request(t, port, "POST", "/keys", jsonStr)
@ -313,5 +322,8 @@ func doSend(t *testing.T, port, seed string) (sendAddr string, receiveAddr strin
res, body = request(t, port, "POST", "/accounts/"+receiveAddr+"/send", jsonStr) res, body = request(t, port, "POST", "/accounts/"+receiveAddr+"/send", jsonStr)
require.Equal(t, http.StatusOK, res.StatusCode, body) require.Equal(t, http.StatusOK, res.StatusCode, body)
return sendAddr, receiveAddr err = json.Unmarshal([]byte(body), &resultTx)
require.Nil(t, err)
return sendAddr, receiveAddr, resultTx
} }

View File

@ -22,7 +22,7 @@ func AddCommands(cmd *cobra.Command, cdc *wire.Codec) {
} }
func RegisterRoutes(r *mux.Router, cdc *wire.Codec) { func RegisterRoutes(r *mux.Router, cdc *wire.Codec) {
r.HandleFunc("/txs", SearchTxRequestHandler(cdc)).Methods("GET") // r.HandleFunc("/txs", SearchTxRequestHandler(cdc)).Methods("GET")
r.HandleFunc("/txs/{hash}", QueryTxRequestHandler(cdc)).Methods("GET") r.HandleFunc("/txs/{hash}", QueryTxRequestHandler(cdc)).Methods("GET")
// r.HandleFunc("/txs/sign", SignTxRequstHandler).Methods("POST") // r.HandleFunc("/txs/sign", SignTxRequstHandler).Methods("POST")
// r.HandleFunc("/txs/broadcast", BroadcastTxRequestHandler).Methods("POST") // r.HandleFunc("/txs/broadcast", BroadcastTxRequestHandler).Methods("POST")

View File

@ -6,6 +6,7 @@ import (
"fmt" "fmt"
"os" "os"
"os/exec" "os/exec"
"path"
"path/filepath" "path/filepath"
"strings" "strings"
//"strings" //"strings"
@ -83,7 +84,28 @@ func TestInitBasecoin(t *testing.T, home string) string {
} }
} }
return string(theOutput[seedLine]) seed := string(theOutput[seedLine])
// enable indexing
err = appendToFile(path.Join(home, "config", "config.toml"), "\n\n[tx_indexing]\nindex_all_tags true\n")
require.Nil(t, err)
return seed
}
func appendToFile(path string, text string) error {
f, err := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, 0600)
if err != nil {
return err
}
defer f.Close()
if _, err = f.WriteString(text); err != nil {
return err
}
return nil
} }
func makeKeys() error { func makeKeys() error {