github.com/filecoin-project/lassie@v0.23.0/pkg/internal/mockfetcher/mockfetcher.go (about) 1 package mockfetcher 2 3 import ( 4 "context" 5 6 "github.com/filecoin-project/lassie/pkg/types" 7 ) 8 9 var _ types.Fetcher = &MockFetcher{} 10 11 type MockFetcher struct { 12 FetchFunc func(ctx context.Context, request types.RetrievalRequest, cb func(types.RetrievalEvent)) (*types.RetrievalStats, error) 13 } 14 15 func NewMockFetcher() *MockFetcher { 16 return &MockFetcher{} 17 } 18 19 func (m *MockFetcher) Fetch(ctx context.Context, request types.RetrievalRequest, opt ...types.FetchOption) (*types.RetrievalStats, error) { 20 return m.FetchFunc(ctx, request, types.NewFetchConfig(opt...).EventsCallback) 21 }