diff --git a/go.mod b/go.mod index 4961ea53ec4..65badea5245 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module d7y.io/dragonfly/v2 go 1.20 require ( - d7y.io/api/v2 v2.0.25 + d7y.io/api/v2 v2.0.29 github.com/MysteriousPotato/go-lockable v1.0.0 github.com/RichardKnop/machinery v1.10.6 github.com/Showmax/go-fqdn v1.0.0 diff --git a/go.sum b/go.sum index 635efbd97fc..fd12ec280db 100644 --- a/go.sum +++ b/go.sum @@ -50,8 +50,8 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -d7y.io/api/v2 v2.0.25 h1:GjjlcFVr3NrEeV6g+f5KbmYIhVUaDw4rP7aGzgWGM80= -d7y.io/api/v2 v2.0.25/go.mod h1:Wit7VpDkM+gP/eZf4DEJo+Mm+mT8fa/FpWQEeJWSTSk= +d7y.io/api/v2 v2.0.29 h1:aXuK0Iqxe9YeCVuFGhaI1Xl0le4Bu3s32v6Czj3osYY= +d7y.io/api/v2 v2.0.29/go.mod h1:Wit7VpDkM+gP/eZf4DEJo+Mm+mT8fa/FpWQEeJWSTSk= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.0.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U= diff --git a/scheduler/scheduling/scheduling.go b/scheduler/scheduling/scheduling.go index 36fff590493..a5a06bbef08 100644 --- a/scheduler/scheduling/scheduling.go +++ b/scheduler/scheduling/scheduling.go @@ -563,7 +563,7 @@ func ConstructSuccessSmallTaskResponse(candidateParent *resource.Peer) *schedule piece := &commonv2.Piece{ Number: candidateParentPiece.Number, - ParentId: candidateParentPiece.ParentID, + ParentId: &candidateParentPiece.ParentID, Offset: candidateParentPiece.Offset, Length: candidateParentPiece.Length, TrafficType: candidateParentPiece.TrafficType, @@ -584,8 +584,8 @@ func ConstructSuccessSmallTaskResponse(candidateParent *resource.Peer) *schedule Id: candidateParent.Task.ID, Type: candidateParent.Task.Type, Url: candidateParent.Task.URL, - Tag: candidateParent.Task.Tag, - Application: candidateParent.Task.Application, + Tag: &candidateParent.Task.Tag, + Application: &candidateParent.Task.Application, Filters: candidateParent.Task.Filters, Header: candidateParent.Task.Header, PieceLength: candidateParent.Task.PieceLength, @@ -600,7 +600,8 @@ func ConstructSuccessSmallTaskResponse(candidateParent *resource.Peer) *schedule // Set digest to parent task. if candidateParent.Task.Digest != nil { - parent.Task.Digest = candidateParent.Task.Digest.String() + dgst := candidateParent.Task.Digest.String() + parent.Task.Digest = &dgst } // Set pieces to parent task. @@ -613,7 +614,7 @@ func ConstructSuccessSmallTaskResponse(candidateParent *resource.Peer) *schedule piece := &commonv2.Piece{ Number: taskPiece.Number, - ParentId: taskPiece.ParentID, + ParentId: &taskPiece.ParentID, Offset: taskPiece.Offset, Length: taskPiece.Length, TrafficType: taskPiece.TrafficType, @@ -737,7 +738,7 @@ func ConstructSuccessNormalTaskResponse(dynconfig config.DynconfigInterface, can piece := &commonv2.Piece{ Number: candidateParentPiece.Number, - ParentId: candidateParentPiece.ParentID, + ParentId: &candidateParentPiece.ParentID, Offset: candidateParentPiece.Offset, Length: candidateParentPiece.Length, TrafficType: candidateParentPiece.TrafficType, @@ -758,8 +759,8 @@ func ConstructSuccessNormalTaskResponse(dynconfig config.DynconfigInterface, can Id: candidateParent.Task.ID, Type: candidateParent.Task.Type, Url: candidateParent.Task.URL, - Tag: candidateParent.Task.Tag, - Application: candidateParent.Task.Application, + Tag: &candidateParent.Task.Tag, + Application: &candidateParent.Task.Application, Filters: candidateParent.Task.Filters, Header: candidateParent.Task.Header, PieceLength: candidateParent.Task.PieceLength, @@ -774,7 +775,8 @@ func ConstructSuccessNormalTaskResponse(dynconfig config.DynconfigInterface, can // Set digest to parent task. if candidateParent.Task.Digest != nil { - parent.Task.Digest = candidateParent.Task.Digest.String() + dgst := candidateParent.Task.Digest.String() + parent.Task.Digest = &dgst } // Set pieces to parent task. @@ -787,7 +789,7 @@ func ConstructSuccessNormalTaskResponse(dynconfig config.DynconfigInterface, can piece := &commonv2.Piece{ Number: taskPiece.Number, - ParentId: taskPiece.ParentID, + ParentId: &taskPiece.ParentID, Offset: taskPiece.Offset, Length: taskPiece.Length, TrafficType: taskPiece.TrafficType, diff --git a/scheduler/scheduling/scheduling_test.go b/scheduler/scheduling/scheduling_test.go index 8d5d8fc149f..d2ec97ddcce 100644 --- a/scheduler/scheduling/scheduling_test.go +++ b/scheduler/scheduling/scheduling_test.go @@ -1267,6 +1267,8 @@ func TestScheduling_ConstructSuccessSmallTaskResponse(t *testing.T) { { name: "construct success", expect: func(t *testing.T, resp *schedulerv2.AnnouncePeerResponse_SmallTaskResponse, candidateParent *resource.Peer) { + dgst := candidateParent.Task.Digest.String() + assert := assert.New(t) assert.EqualValues(resp, &schedulerv2.AnnouncePeerResponse_SmallTaskResponse{ SmallTaskResponse: &schedulerv2.SmallTaskResponse{ @@ -1280,7 +1282,7 @@ func TestScheduling_ConstructSuccessSmallTaskResponse(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -1295,9 +1297,9 @@ func TestScheduling_ConstructSuccessSmallTaskResponse(t *testing.T) { Id: candidateParent.Task.ID, Type: candidateParent.Task.Type, Url: candidateParent.Task.URL, - Digest: candidateParent.Task.Digest.String(), - Tag: candidateParent.Task.Tag, - Application: candidateParent.Task.Application, + Digest: &dgst, + Tag: &candidateParent.Task.Tag, + Application: &candidateParent.Task.Application, Filters: candidateParent.Task.Filters, Header: candidateParent.Task.Header, PieceLength: candidateParent.Task.PieceLength, @@ -1307,7 +1309,7 @@ func TestScheduling_ConstructSuccessSmallTaskResponse(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -1424,6 +1426,8 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { }, nil).Times(1) }, expect: func(t *testing.T, resp *schedulerv2.AnnouncePeerResponse_NormalTaskResponse, candidateParents []*resource.Peer) { + dgst := candidateParents[0].Task.Digest.String() + assert := assert.New(t) assert.EqualValues(resp, &schedulerv2.AnnouncePeerResponse_NormalTaskResponse{ NormalTaskResponse: &schedulerv2.NormalTaskResponse{ @@ -1438,7 +1442,7 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -1453,9 +1457,9 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { Id: candidateParents[0].Task.ID, Type: candidateParents[0].Task.Type, Url: candidateParents[0].Task.URL, - Digest: candidateParents[0].Task.Digest.String(), - Tag: candidateParents[0].Task.Tag, - Application: candidateParents[0].Task.Application, + Digest: &dgst, + Tag: &candidateParents[0].Task.Tag, + Application: &candidateParents[0].Task.Application, Filters: candidateParents[0].Task.Filters, Header: candidateParents[0].Task.Header, PieceLength: candidateParents[0].Task.PieceLength, @@ -1465,7 +1469,7 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -1556,6 +1560,8 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { md.GetSchedulerClusterClientConfig().Return(types.SchedulerClusterClientConfig{}, errors.New("foo")).Times(1) }, expect: func(t *testing.T, resp *schedulerv2.AnnouncePeerResponse_NormalTaskResponse, candidateParents []*resource.Peer) { + dgst := candidateParents[0].Task.Digest.String() + assert := assert.New(t) assert.EqualValues(resp, &schedulerv2.AnnouncePeerResponse_NormalTaskResponse{ NormalTaskResponse: &schedulerv2.NormalTaskResponse{ @@ -1570,7 +1576,7 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -1585,9 +1591,9 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { Id: candidateParents[0].Task.ID, Type: candidateParents[0].Task.Type, Url: candidateParents[0].Task.URL, - Digest: candidateParents[0].Task.Digest.String(), - Tag: candidateParents[0].Task.Tag, - Application: candidateParents[0].Task.Application, + Digest: &dgst, + Tag: &candidateParents[0].Task.Tag, + Application: &candidateParents[0].Task.Application, Filters: candidateParents[0].Task.Filters, Header: candidateParents[0].Task.Header, PieceLength: candidateParents[0].Task.PieceLength, @@ -1597,7 +1603,7 @@ func TestScheduling_ConstructSuccessNormalTaskResponse(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), diff --git a/scheduler/service/service_v2.go b/scheduler/service/service_v2.go index 11ebdfc0640..721a76f8246 100644 --- a/scheduler/service/service_v2.go +++ b/scheduler/service/service_v2.go @@ -228,7 +228,7 @@ func (v *V2) StatPeer(ctx context.Context, req *schedulerv2.StatPeerRequest) (*c respPiece := &commonv2.Piece{ Number: piece.Number, - ParentId: piece.ParentID, + ParentId: &piece.ParentID, Offset: piece.Offset, Length: piece.Length, TrafficType: piece.TrafficType, @@ -249,8 +249,8 @@ func (v *V2) StatPeer(ctx context.Context, req *schedulerv2.StatPeerRequest) (*c Id: peer.Task.ID, Type: peer.Task.Type, Url: peer.Task.URL, - Tag: peer.Task.Tag, - Application: peer.Task.Application, + Tag: &peer.Task.Tag, + Application: &peer.Task.Application, Filters: peer.Task.Filters, Header: peer.Task.Header, PieceLength: peer.Task.PieceLength, @@ -265,7 +265,8 @@ func (v *V2) StatPeer(ctx context.Context, req *schedulerv2.StatPeerRequest) (*c // Set digest to task response. if peer.Task.Digest != nil { - resp.Task.Digest = peer.Task.Digest.String() + dgst := peer.Task.Digest.String() + resp.Task.Digest = &dgst } // Set pieces to task response. @@ -278,7 +279,7 @@ func (v *V2) StatPeer(ctx context.Context, req *schedulerv2.StatPeerRequest) (*c respPiece := &commonv2.Piece{ Number: piece.Number, - ParentId: piece.ParentID, + ParentId: &piece.ParentID, Offset: piece.Offset, Length: piece.Length, TrafficType: piece.TrafficType, @@ -401,8 +402,8 @@ func (v *V2) StatTask(ctx context.Context, req *schedulerv2.StatTaskRequest) (*c Id: task.ID, Type: task.Type, Url: task.URL, - Tag: task.Tag, - Application: task.Application, + Tag: &task.Tag, + Application: &task.Application, Filters: task.Filters, Header: task.Header, PieceLength: task.PieceLength, @@ -417,7 +418,8 @@ func (v *V2) StatTask(ctx context.Context, req *schedulerv2.StatTaskRequest) (*c // Set digest to response. if task.Digest != nil { - resp.Digest = task.Digest.String() + dgst := task.Digest.String() + resp.Digest = &dgst } // Set pieces to response. @@ -430,7 +432,7 @@ func (v *V2) StatTask(ctx context.Context, req *schedulerv2.StatTaskRequest) (*c respPiece := &commonv2.Piece{ Number: piece.Number, - ParentId: piece.ParentID, + ParentId: &piece.ParentID, Offset: piece.Offset, Length: piece.Length, TrafficType: piece.TrafficType, @@ -1264,9 +1266,9 @@ func (v *V2) handleResource(ctx context.Context, stream schedulerv2.Scheduler_An // Store new task or update task. task, loaded := v.resource.TaskManager().Load(taskID) if !loaded { - options := []resource.TaskOption{resource.WithPieceLength(download.PieceLength)} - if download.Digest != "" { - d, err := digest.Parse(download.Digest) + options := []resource.TaskOption{resource.WithPieceLength(download.GetPieceLength())} + if download.Digest != nil { + d, err := digest.Parse(download.GetDigest()) if err != nil { return nil, nil, nil, status.Error(codes.InvalidArgument, err.Error()) } @@ -1275,21 +1277,21 @@ func (v *V2) handleResource(ctx context.Context, stream schedulerv2.Scheduler_An options = append(options, resource.WithDigest(d)) } - task = resource.NewTask(taskID, download.Url, download.Tag, download.Application, download.Type, - download.Filters, download.Header, int32(v.config.Scheduler.BackToSourceCount), options...) + task = resource.NewTask(taskID, download.GetUrl(), download.GetTag(), download.GetApplication(), download.GetType(), + download.GetFilters(), download.GetHeader(), int32(v.config.Scheduler.BackToSourceCount), options...) v.resource.TaskManager().Store(task) } else { - task.URL = download.Url - task.Filters = download.Filters - task.Header = download.Header + task.URL = download.GetUrl() + task.Filters = download.GetFilters() + task.Header = download.GetHeader() } // Store new peer or load peer. peer, loaded := v.resource.PeerManager().Load(peerID) if !loaded { - options := []resource.PeerOption{resource.WithPriority(download.Priority), resource.WithAnnouncePeerStream(stream)} + options := []resource.PeerOption{resource.WithPriority(download.GetPriority()), resource.WithAnnouncePeerStream(stream)} if download.Range != nil { - options = append(options, resource.WithRange(http.Range{Start: download.Range.Start, Length: download.Range.Length})) + options = append(options, resource.WithRange(http.Range{Start: download.Range.GetStart(), Length: download.Range.GetLength()})) } peer = resource.NewPeer(peerID, &v.config.Resource, task, host, options...) diff --git a/scheduler/service/service_v2_test.go b/scheduler/service/service_v2_test.go index 06459b1bd13..fac2437486e 100644 --- a/scheduler/service/service_v2_test.go +++ b/scheduler/service/service_v2_test.go @@ -114,6 +114,8 @@ func TestServiceV2_StatPeer(t *testing.T) { ) }, expect: func(t *testing.T, peer *resource.Peer, resp *commonv2.Peer, err error) { + dgst := peer.Task.Digest.String() + assert := assert.New(t) assert.EqualValues(resp, &commonv2.Peer{ Id: peer.ID, @@ -125,7 +127,7 @@ func TestServiceV2_StatPeer(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -140,9 +142,9 @@ func TestServiceV2_StatPeer(t *testing.T) { Id: peer.Task.ID, Type: peer.Task.Type, Url: peer.Task.URL, - Digest: peer.Task.Digest.String(), - Tag: peer.Task.Tag, - Application: peer.Task.Application, + Digest: &dgst, + Tag: &peer.Task.Tag, + Application: &peer.Task.Application, Filters: peer.Task.Filters, Header: peer.Task.Header, PieceLength: peer.Task.PieceLength, @@ -152,7 +154,7 @@ func TestServiceV2_StatPeer(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -359,14 +361,16 @@ func TestServiceV2_StatTask(t *testing.T) { ) }, expect: func(t *testing.T, task *resource.Task, resp *commonv2.Task, err error) { + dgst := task.Digest.String() + assert := assert.New(t) assert.EqualValues(resp, &commonv2.Task{ Id: task.ID, Type: task.Type, Url: task.URL, - Digest: task.Digest.String(), - Tag: task.Tag, - Application: task.Application, + Digest: &dgst, + Tag: &task.Tag, + Application: &task.Application, Filters: task.Filters, Header: task.Header, PieceLength: task.PieceLength, @@ -376,7 +380,7 @@ func TestServiceV2_StatTask(t *testing.T) { Pieces: []*commonv2.Piece{ { Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -1417,6 +1421,8 @@ func TestServiceV2_SyncProbes(t *testing.T) { } func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { + dgst := mockTaskDigest.String() + tests := []struct { name string req *schedulerv2.RegisterPeerRequest @@ -1444,7 +1450,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "can not found available peer and download task failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1470,7 +1476,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "task state is TaskStateFailed and download task failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1500,7 +1506,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_EMPTY and load AnnouncePeerStream failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1528,7 +1534,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_EMPTY and event PeerEventRegisterEmpty failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1557,7 +1563,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_EMPTY and send EmptyTaskResponse failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1591,7 +1597,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_TINY, task can not reuse DirectPiece and event PeerEventRegisterNormal failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1620,7 +1626,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_TINY, task can not reuse DirectPiece and scheduling failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1649,7 +1655,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_TINY and task can not reuse DirectPiece", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1677,7 +1683,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and task can not found success parent", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1707,7 +1713,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and load AnnouncePeerStream failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1739,7 +1745,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and event PeerEventRegisterSmall failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1773,7 +1779,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and send SmallTaskResponse failed", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1807,7 +1813,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1840,7 +1846,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_NORMAL", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1872,7 +1878,7 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { name: "size scope is SizeScope_UNKNOW", req: &schedulerv2.RegisterPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1925,6 +1931,8 @@ func TestServiceV2_handleRegisterPeerRequest(t *testing.T) { } func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { + dgst := mockTaskDigest.String() + tests := []struct { name string req *schedulerv2.RegisterSeedPeerRequest @@ -1952,7 +1960,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "can not found available peer", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -1979,7 +1987,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "task state is TaskStateFailed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2010,7 +2018,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_EMPTY and load AnnouncePeerStream failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2038,7 +2046,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_EMPTY and event PeerEventRegisterEmpty failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2067,7 +2075,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_EMPTY and send EmptyTaskResponse failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2101,7 +2109,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_TINY, task can not reuse DirectPiece and event PeerEventRegisterNormal failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2130,7 +2138,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_TINY, task can not reuse DirectPiece and scheduling failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2159,7 +2167,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_TINY and task can not reuse DirectPiece", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2187,7 +2195,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and task can not found success parent", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2217,7 +2225,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and load AnnouncePeerStream failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2249,7 +2257,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and event PeerEventRegisterSmall failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2283,7 +2291,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL and send SmallTaskResponse failed", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2317,7 +2325,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_SMALL", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2350,7 +2358,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_NORMAL", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -2382,7 +2390,7 @@ func TestServiceV2_handleRegisterSeedPeerRequest(t *testing.T) { name: "size scope is SizeScope_UNKNOW", req: &schedulerv2.RegisterSeedPeerRequest{ Download: &commonv2.Download{ - Digest: mockTaskDigest.String(), + Digest: &dgst, }, }, run: func(t *testing.T, svc *V2, req *schedulerv2.RegisterSeedPeerRequest, peer *resource.Peer, seedPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, @@ -3178,7 +3186,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { req: &schedulerv2.DownloadPieceFinishedRequest{ Piece: &commonv2.Piece{ Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: "foo", @@ -3197,7 +3205,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { req: &schedulerv2.DownloadPieceFinishedRequest{ Piece: &commonv2.Piece{ Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -3221,7 +3229,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { req: &schedulerv2.DownloadPieceFinishedRequest{ Piece: &commonv2.Piece{ Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -3235,7 +3243,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { mr.PeerManager().Return(peerManager).Times(1), mp.Load(gomock.Eq(peer.ID)).Return(peer, true).Times(1), mr.PeerManager().Return(peerManager).Times(1), - mp.Load(gomock.Eq(req.Piece.ParentId)).Return(nil, false).Times(1), + mp.Load(gomock.Eq(req.Piece.GetParentId())).Return(nil, false).Times(1), ) assert := assert.New(t) @@ -3263,7 +3271,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { req: &schedulerv2.DownloadPieceFinishedRequest{ Piece: &commonv2.Piece{ Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -3277,7 +3285,7 @@ func TestServiceV2_handleDownloadPieceFinishedRequest(t *testing.T) { mr.PeerManager().Return(peerManager).Times(1), mp.Load(gomock.Eq(peer.ID)).Return(peer, true).Times(1), mr.PeerManager().Return(peerManager).Times(1), - mp.Load(gomock.Eq(req.Piece.ParentId)).Return(peer, true).Times(1), + mp.Load(gomock.Eq(req.Piece.GetParentId())).Return(peer, true).Times(1), ) assert := assert.New(t) @@ -3337,7 +3345,7 @@ func TestServiceV2_handleDownloadPieceBackToSourceFinishedRequest(t *testing.T) req: &schedulerv2.DownloadPieceBackToSourceFinishedRequest{ Piece: &commonv2.Piece{ Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: "foo", @@ -3356,7 +3364,7 @@ func TestServiceV2_handleDownloadPieceBackToSourceFinishedRequest(t *testing.T) req: &schedulerv2.DownloadPieceBackToSourceFinishedRequest{ Piece: &commonv2.Piece{ Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -3380,7 +3388,7 @@ func TestServiceV2_handleDownloadPieceBackToSourceFinishedRequest(t *testing.T) req: &schedulerv2.DownloadPieceBackToSourceFinishedRequest{ Piece: &commonv2.Piece{ Number: mockPiece.Number, - ParentId: mockPiece.ParentID, + ParentId: &mockPiece.ParentID, Offset: mockPiece.Offset, Length: mockPiece.Length, Digest: mockPiece.Digest.String(), @@ -3463,7 +3471,7 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { name: "peer can not be loaded", req: &schedulerv2.DownloadPieceFailedRequest{ Piece: &commonv2.Piece{ - ParentId: mockSeedPeerID, + ParentId: &mockSeedPeerID, }, Temporary: true, }, @@ -3482,7 +3490,7 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { name: "temporary is false", req: &schedulerv2.DownloadPieceFailedRequest{ Piece: &commonv2.Piece{ - ParentId: mockSeedPeerID, + ParentId: &mockSeedPeerID, }, Temporary: false, }, @@ -3501,7 +3509,7 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { name: "schedule failed", req: &schedulerv2.DownloadPieceFailedRequest{ Piece: &commonv2.Piece{ - ParentId: mockSeedPeerID, + ParentId: &mockSeedPeerID, }, Temporary: true, }, @@ -3516,14 +3524,14 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { assert := assert.New(t) assert.ErrorIs(svc.handleDownloadPieceFailedRequest(context.Background(), peer.ID, req), status.Error(codes.FailedPrecondition, "foo")) assert.NotEqual(peer.UpdatedAt.Load(), 0) - assert.True(peer.BlockParents.Contains(req.Piece.ParentId)) + assert.True(peer.BlockParents.Contains(req.Piece.GetParentId())) }, }, { name: "parent can not be loaded", req: &schedulerv2.DownloadPieceFailedRequest{ Piece: &commonv2.Piece{ - ParentId: mockSeedPeerID, + ParentId: &mockSeedPeerID, }, Temporary: true, }, @@ -3534,13 +3542,13 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { mp.Load(gomock.Eq(peer.ID)).Return(peer, true).Times(1), ms.ScheduleCandidateParents(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).Times(1), mr.PeerManager().Return(peerManager).Times(1), - mp.Load(gomock.Eq(req.Piece.ParentId)).Return(nil, false).Times(1), + mp.Load(gomock.Eq(req.Piece.GetParentId())).Return(nil, false).Times(1), ) assert := assert.New(t) assert.NoError(svc.handleDownloadPieceFailedRequest(context.Background(), peer.ID, req)) assert.NotEqual(peer.UpdatedAt.Load(), 0) - assert.True(peer.BlockParents.Contains(req.Piece.ParentId)) + assert.True(peer.BlockParents.Contains(req.Piece.GetParentId())) assert.NotEqual(peer.Task.UpdatedAt.Load(), 0) }, }, @@ -3548,7 +3556,7 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { name: "parent can be loaded", req: &schedulerv2.DownloadPieceFailedRequest{ Piece: &commonv2.Piece{ - ParentId: mockSeedPeerID, + ParentId: &mockSeedPeerID, }, Temporary: true, }, @@ -3559,13 +3567,13 @@ func TestServiceV2_handleDownloadPieceFailedRequest(t *testing.T) { mp.Load(gomock.Eq(peer.ID)).Return(peer, true).Times(1), ms.ScheduleCandidateParents(gomock.Any(), gomock.Any(), gomock.Any()).Return(nil).Times(1), mr.PeerManager().Return(peerManager).Times(1), - mp.Load(gomock.Eq(req.Piece.ParentId)).Return(peer, true).Times(1), + mp.Load(gomock.Eq(req.Piece.GetParentId())).Return(peer, true).Times(1), ) assert := assert.New(t) assert.NoError(svc.handleDownloadPieceFailedRequest(context.Background(), peer.ID, req)) assert.NotEqual(peer.UpdatedAt.Load(), 0) - assert.True(peer.BlockParents.Contains(req.Piece.ParentId)) + assert.True(peer.BlockParents.Contains(req.Piece.GetParentId())) assert.NotEqual(peer.Task.UpdatedAt.Load(), 0) assert.Equal(peer.Host.UploadFailedCount.Load(), int64(1)) }, @@ -3660,6 +3668,9 @@ func TestServiceV2_handleDownloadPieceBackToSourceFailedRequest(t *testing.T) { } func TestServiceV2_handleResource(t *testing.T) { + dgst := mockTaskDigest.String() + mismatchDgst := "foo" + tests := []struct { name string download *commonv2.Download @@ -3718,7 +3729,7 @@ func TestServiceV2_handleResource(t *testing.T) { Url: "foo", Filters: []string{"bar"}, Header: map[string]string{"baz": "bas"}, - Digest: mockTaskDigest.String(), + Digest: &dgst, }, run: func(t *testing.T, svc *V2, download *commonv2.Download, stream schedulerv2.Scheduler_AnnouncePeerServer, mockHost *resource.Host, mockTask *resource.Task, mockPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, peerManager resource.PeerManager, mr *resource.MockResourceMockRecorder, mh *resource.MockHostManagerMockRecorder, @@ -3739,16 +3750,16 @@ func TestServiceV2_handleResource(t *testing.T) { assert.NoError(err) assert.EqualValues(host, mockHost) assert.Equal(task.ID, mockTask.ID) - assert.Equal(task.Digest.String(), download.Digest) - assert.Equal(task.URL, download.Url) - assert.EqualValues(task.Filters, download.Filters) + assert.Equal(task.Digest.String(), download.GetDigest()) + assert.Equal(task.URL, download.GetUrl()) + assert.EqualValues(task.Filters, download.GetFilters()) assert.EqualValues(task.Header, download.Header) }, }, { name: "invalid digest", download: &commonv2.Download{ - Digest: "foo", + Digest: &mismatchDgst, }, run: func(t *testing.T, svc *V2, download *commonv2.Download, stream schedulerv2.Scheduler_AnnouncePeerServer, mockHost *resource.Host, mockTask *resource.Task, mockPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, peerManager resource.PeerManager, mr *resource.MockResourceMockRecorder, mh *resource.MockHostManagerMockRecorder, @@ -3771,7 +3782,7 @@ func TestServiceV2_handleResource(t *testing.T) { Url: "foo", Filters: []string{"bar"}, Header: map[string]string{"baz": "bas"}, - Digest: mockTaskDigest.String(), + Digest: &dgst, }, run: func(t *testing.T, svc *V2, download *commonv2.Download, stream schedulerv2.Scheduler_AnnouncePeerServer, mockHost *resource.Host, mockTask *resource.Task, mockPeer *resource.Peer, hostManager resource.HostManager, taskManager resource.TaskManager, peerManager resource.PeerManager, mr *resource.MockResourceMockRecorder, mh *resource.MockHostManagerMockRecorder, @@ -3790,9 +3801,9 @@ func TestServiceV2_handleResource(t *testing.T) { assert.NoError(err) assert.EqualValues(host, mockHost) assert.Equal(task.ID, mockTask.ID) - assert.Equal(task.Digest.String(), download.Digest) - assert.Equal(task.URL, download.Url) - assert.EqualValues(task.Filters, download.Filters) + assert.Equal(task.Digest.String(), download.GetDigest()) + assert.Equal(task.URL, download.GetUrl()) + assert.EqualValues(task.Filters, download.GetFilters()) assert.EqualValues(task.Header, download.Header) assert.EqualValues(peer, mockPeer) }, @@ -3803,7 +3814,7 @@ func TestServiceV2_handleResource(t *testing.T) { Url: "foo", Filters: []string{"bar"}, Header: map[string]string{"baz": "bas"}, - Digest: mockTaskDigest.String(), + Digest: &dgst, Priority: commonv2.Priority_LEVEL1, Range: &commonv2.Range{ Start: mockPeerRange.Start, @@ -3829,9 +3840,9 @@ func TestServiceV2_handleResource(t *testing.T) { assert.NoError(err) assert.EqualValues(host, mockHost) assert.Equal(task.ID, mockTask.ID) - assert.Equal(task.Digest.String(), download.Digest) - assert.Equal(task.URL, download.Url) - assert.EqualValues(task.Filters, download.Filters) + assert.Equal(task.Digest.String(), download.GetDigest()) + assert.Equal(task.URL, download.GetUrl()) + assert.EqualValues(task.Filters, download.GetFilters()) assert.EqualValues(task.Header, download.Header) assert.Equal(peer.ID, mockPeer.ID) assert.Equal(peer.Priority, download.Priority)