Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

Commit

Permalink
nil pointer exception when name does not exist
Browse files Browse the repository at this point in the history
Signed-off-by: Sean Young <sean.young@monax.io>
  • Loading branch information
Sean Young committed Sep 17, 2018
1 parent 131d8fe commit 70b2f6e
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 3 deletions.
7 changes: 6 additions & 1 deletion integration/rpctransact/name_test.go
Expand Up @@ -33,13 +33,18 @@ func TestNameTxSync(t *testing.T) {

qcli := rpctest.NewQueryClient(t, testConfig.RPC.GRPC.ListenAddress)
entry, err := qcli.GetName(context.Background(), &rpcquery.GetNameParam{
Name: "n'existe pas",
})
require.Error(t, err)
entry, err = qcli.GetName(context.Background(), &rpcquery.GetNameParam{
Name: name,
})
require.NoError(t, err)
assert.Equal(t, name, entry.Name)
assert.Equal(t, data, entry.Data)
assert.Equal(t, inputAddress, entry.Owner)
assert.True(t, entry.Expires >= expiresIn, "expiry should be later than expiresIn")

}

func TestNameReg(t *testing.T) {
Expand All @@ -56,7 +61,7 @@ func TestNameReg(t *testing.T) {
txe := rpctest.UpdateName(t, tcli, inputAddress, name, data, numDesiredBlocks)

entry := txe.Result.NameEntry
assert.NotNil(t, entry, "name shoudl return")
assert.NotNil(t, entry, "name should return")
_, ok := txe.Envelope.Tx.Payload.(*payload.NameTx)
require.True(t, ok, "should be NameTx: %v", txe.Envelope.Tx.Payload)

Expand Down
9 changes: 7 additions & 2 deletions rpc/rpcquery/query_server.go
Expand Up @@ -2,6 +2,7 @@ package rpcquery

import (
"context"
"fmt"

"github.com/hyperledger/burrow/acm"
"github.com/hyperledger/burrow/acm/state"
Expand Down Expand Up @@ -67,8 +68,12 @@ func (qs *queryServer) ListAccounts(param *ListAccountsParam, stream Query_ListA
}

// Name registry
func (qs *queryServer) GetName(ctx context.Context, param *GetNameParam) (*names.Entry, error) {
return qs.nameReg.GetName(param.Name)
func (qs *queryServer) GetName(ctx context.Context, param *GetNameParam) (entry *names.Entry, err error) {
entry, err = qs.nameReg.GetName(param.Name)
if entry == nil && err == nil {
err = fmt.Errorf("name %s not found", param.Name)
}
return
}

func (qs *queryServer) ListNames(param *ListNamesParam, stream Query_ListNamesServer) error {
Expand Down

0 comments on commit 70b2f6e

Please sign in to comment.