Add get token endpoint

This commit is contained in:
laisolizq
2020-10-15 14:21:51 +02:00
parent a49d3bfa67
commit 63a4f3c8b6
3 changed files with 49 additions and 1 deletions

View File

@@ -871,6 +871,31 @@ func assertExitAPIs(t *testing.T, expected, actual []exitAPI) {
}
}
func TestGetToken(t *testing.T) {
// Get all txs by their ID
endpoint := apiURL + "tokens/"
fetchedTokens := []historydb.TokenRead{}
for _, token := range tc.tokens {
fetchedToken := historydb.TokenRead{}
assert.NoError(t, doGoodReq("GET", endpoint+strconv.Itoa(int(token.TokenID)), nil, &fetchedToken))
fetchedTokens = append(fetchedTokens, fetchedToken)
}
assertTokensAPIs(t, tc.tokens, fetchedTokens)
}
func assertTokensAPIs(t *testing.T, expected, actual []historydb.TokenRead) {
require.Equal(t, len(expected), len(actual))
for i := 0; i < len(actual); i++ { //nolint len(actual) won't change within the loop
if expected[i].USDUpdate == nil {
assert.Equal(t, expected[i].USDUpdate, actual[i].USDUpdate)
} else {
assert.Equal(t, expected[i].USDUpdate.Unix(), actual[i].USDUpdate.Unix())
expected[i].USDUpdate = actual[i].USDUpdate
}
assert.Equal(t, expected[i], actual[i])
}
}
func doGoodReqPaginated(
path, order string,
iterStruct db.Paginationer,

View File

@@ -5,6 +5,7 @@ import (
"net/http"
"github.com/gin-gonic/gin"
"github.com/hermeznetwork/hermez-node/common"
"github.com/hermeznetwork/hermez-node/db/historydb"
)
@@ -205,7 +206,20 @@ func getTokens(c *gin.Context) {
}
func getToken(c *gin.Context) {
// Get TokenID
tokenIDUint, err := parseParamUint("id", nil, 0, maxUint32, c)
if err != nil {
retBadReq(err, c)
return
}
tokenID := common.TokenID(*tokenIDUint)
// Fetch token from historyDB
token, err := h.GetToken(tokenID)
if err != nil {
retSQLErr(err, c)
return
}
c.JSON(http.StatusOK, token)
}
func getRecommendedFee(c *gin.Context) {