Skip to content

Commit

Permalink
100% test coverage in simplequery
Browse files Browse the repository at this point in the history
  • Loading branch information
guillaumemichel committed Jul 6, 2023
1 parent 88262ca commit b6da7ee
Show file tree
Hide file tree
Showing 3 changed files with 301 additions and 11 deletions.
26 changes: 26 additions & 0 deletions network/endpoint/fakeendpoint/fakeendpoint_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/plprobelab/go-kademlia/events/scheduler"
"github.com/plprobelab/go-kademlia/events/scheduler/simplescheduler"
"github.com/plprobelab/go-kademlia/network/address"
"github.com/plprobelab/go-kademlia/network/address/kadaddr"
"github.com/plprobelab/go-kademlia/network/address/kadid"
"github.com/plprobelab/go-kademlia/network/address/peerid"
si "github.com/plprobelab/go-kademlia/network/address/stringid"
Expand Down Expand Up @@ -141,6 +142,31 @@ func TestFakeEndpoint(t *testing.T) {
fakeEndpoint.HandleMessage(ctx, node0, errProtoID, 1001, msg)
// no message should have been sent to node0, so nothing to run
require.False(t, sched0.RunOne(ctx))

var followupRan bool
// test that HandleMessage adds the closer peers to the peerstore
followup := func(ctx context.Context, resp message.MinKadResponseMessage,
err error) {
require.NoError(t, err)
followupRan = true
}
// add followup function for the stream and make sure it runs
fakeEndpoint.streamFollowup[1000] = followup
addrs := []address.NodeAddr{
kadaddr.NewKadAddr(kadid.NewKadID([]byte{0}), []string{"0"}),
kadaddr.NewKadAddr(kadid.NewKadID([]byte{1}), []string{"1"}),
kadaddr.NewKadAddr(kadid.NewKadID([]byte{2}), []string{"2"}),
}
msg = simmessage.NewSimResponse(addrs)
fakeEndpoint.HandleMessage(ctx, node0, protoID, 1000, msg)

a, err := fakeEndpoint.NetworkAddress(addrs[0].NodeID())
require.NoError(t, err)
require.Equal(t, addrs[0], a)

require.True(t, sched.RunOne(ctx))
require.False(t, sched.RunOne(ctx))
require.True(t, followupRan)
}

func TestRequestTimeout(t *testing.T) {
Expand Down
3 changes: 1 addition & 2 deletions query/simplequery/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -192,7 +192,6 @@ func (q *SimpleQuery) newRequest(ctx context.Context) {
q.handleResponse(ctx, id, resp)
}
}

// send request
err := q.msgEndpoint.SendRequestHandleResponse(ctx, q.protoID, id, q.req,
q.req.EmptyResponse(), q.timeout, handleResp)
Expand Down Expand Up @@ -257,7 +256,7 @@ func (q *SimpleQuery) handleResponse(ctx context.Context, id address.NodeID,
usefulNodeIDs[writeIndex] = id
writeIndex++
} else if err != nil {
span.AddEvent("wrong KadKey lenght")
span.AddEvent("wrong KadKey length")
} else {
span.AddEvent("never add self to query peerlist")
}
Expand Down
Loading

0 comments on commit b6da7ee

Please sign in to comment.