diff --git a/pkg/feeds/feeds.go b/pkg/feeds/feeds.go index da070df..f564a29 100644 --- a/pkg/feeds/feeds.go +++ b/pkg/feeds/feeds.go @@ -13,9 +13,22 @@ const ( maxPageSize = 150 ) +type idService interface { + Generate(feed *api.Feed) (string, error) +} + +type storageService interface { + CreateFeed(feed *api.Feed) error + GetFeed(hashId string) (*api.Feed, error) +} + +type builder interface { + Build(feed *api.Feed) (podcast *itunes.Podcast, err error) +} + type service struct { - id id - storage storage + id idService + storage storageService builders map[api.Provider]builder } @@ -85,13 +98,13 @@ func (s *service) GetMetadata(hashId string) (*api.Feed, error) { type feedOption func(*service) -func WithStorage(storage storage) feedOption { +func WithStorage(storage storageService) feedOption { return func(service *service) { service.storage = storage } } -func WithIdGen(id id) feedOption { +func WithIdGen(id idService) feedOption { return func(service *service) { service.id = id } diff --git a/pkg/feeds/interfaces_mock_test.go b/pkg/feeds/feeds_mock_test.go similarity index 57% rename from pkg/feeds/interfaces_mock_test.go rename to pkg/feeds/feeds_mock_test.go index a76822c..cc1cdcc 100644 --- a/pkg/feeds/interfaces_mock_test.go +++ b/pkg/feeds/feeds_mock_test.go @@ -1,5 +1,5 @@ // Code generated by MockGen. DO NOT EDIT. -// Source: interfaces.go +// Source: feeds.go package feeds @@ -10,31 +10,31 @@ import ( reflect "reflect" ) -// Mockid is a mock of id interface -type Mockid struct { +// MockidService is a mock of idService interface +type MockidService struct { ctrl *gomock.Controller - recorder *MockidMockRecorder + recorder *MockidServiceMockRecorder } -// MockidMockRecorder is the mock recorder for Mockid -type MockidMockRecorder struct { - mock *Mockid +// MockidServiceMockRecorder is the mock recorder for MockidService +type MockidServiceMockRecorder struct { + mock *MockidService } -// NewMockid creates a new mock instance -func NewMockid(ctrl *gomock.Controller) *Mockid { - mock := &Mockid{ctrl: ctrl} - mock.recorder = &MockidMockRecorder{mock} +// NewMockidService creates a new mock instance +func NewMockidService(ctrl *gomock.Controller) *MockidService { + mock := &MockidService{ctrl: ctrl} + mock.recorder = &MockidServiceMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use -func (_m *Mockid) EXPECT() *MockidMockRecorder { +func (_m *MockidService) EXPECT() *MockidServiceMockRecorder { return _m.recorder } // Generate mocks base method -func (_m *Mockid) Generate(feed *api.Feed) (string, error) { +func (_m *MockidService) Generate(feed *api.Feed) (string, error) { ret := _m.ctrl.Call(_m, "Generate", feed) ret0, _ := ret[0].(string) ret1, _ := ret[1].(error) @@ -42,47 +42,47 @@ func (_m *Mockid) Generate(feed *api.Feed) (string, error) { } // Generate indicates an expected call of Generate -func (_mr *MockidMockRecorder) Generate(arg0 interface{}) *gomock.Call { - return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Generate", reflect.TypeOf((*Mockid)(nil).Generate), arg0) +func (_mr *MockidServiceMockRecorder) Generate(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "Generate", reflect.TypeOf((*MockidService)(nil).Generate), arg0) } -// Mockstorage is a mock of storage interface -type Mockstorage struct { +// MockstorageService is a mock of storageService interface +type MockstorageService struct { ctrl *gomock.Controller - recorder *MockstorageMockRecorder + recorder *MockstorageServiceMockRecorder } -// MockstorageMockRecorder is the mock recorder for Mockstorage -type MockstorageMockRecorder struct { - mock *Mockstorage +// MockstorageServiceMockRecorder is the mock recorder for MockstorageService +type MockstorageServiceMockRecorder struct { + mock *MockstorageService } -// NewMockstorage creates a new mock instance -func NewMockstorage(ctrl *gomock.Controller) *Mockstorage { - mock := &Mockstorage{ctrl: ctrl} - mock.recorder = &MockstorageMockRecorder{mock} +// NewMockstorageService creates a new mock instance +func NewMockstorageService(ctrl *gomock.Controller) *MockstorageService { + mock := &MockstorageService{ctrl: ctrl} + mock.recorder = &MockstorageServiceMockRecorder{mock} return mock } // EXPECT returns an object that allows the caller to indicate expected use -func (_m *Mockstorage) EXPECT() *MockstorageMockRecorder { +func (_m *MockstorageService) EXPECT() *MockstorageServiceMockRecorder { return _m.recorder } // CreateFeed mocks base method -func (_m *Mockstorage) CreateFeed(feed *api.Feed) error { +func (_m *MockstorageService) CreateFeed(feed *api.Feed) error { ret := _m.ctrl.Call(_m, "CreateFeed", feed) ret0, _ := ret[0].(error) return ret0 } // CreateFeed indicates an expected call of CreateFeed -func (_mr *MockstorageMockRecorder) CreateFeed(arg0 interface{}) *gomock.Call { - return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "CreateFeed", reflect.TypeOf((*Mockstorage)(nil).CreateFeed), arg0) +func (_mr *MockstorageServiceMockRecorder) CreateFeed(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "CreateFeed", reflect.TypeOf((*MockstorageService)(nil).CreateFeed), arg0) } // GetFeed mocks base method -func (_m *Mockstorage) GetFeed(hashId string) (*api.Feed, error) { +func (_m *MockstorageService) GetFeed(hashId string) (*api.Feed, error) { ret := _m.ctrl.Call(_m, "GetFeed", hashId) ret0, _ := ret[0].(*api.Feed) ret1, _ := ret[1].(error) @@ -90,8 +90,8 @@ func (_m *Mockstorage) GetFeed(hashId string) (*api.Feed, error) { } // GetFeed indicates an expected call of GetFeed -func (_mr *MockstorageMockRecorder) GetFeed(arg0 interface{}) *gomock.Call { - return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "GetFeed", reflect.TypeOf((*Mockstorage)(nil).GetFeed), arg0) +func (_mr *MockstorageServiceMockRecorder) GetFeed(arg0 interface{}) *gomock.Call { + return _mr.mock.ctrl.RecordCallWithMethodType(_mr.mock, "GetFeed", reflect.TypeOf((*MockstorageService)(nil).GetFeed), arg0) } // Mockbuilder is a mock of builder interface diff --git a/pkg/feeds/feeds_test.go b/pkg/feeds/feeds_test.go index 7d81baa..b585847 100644 --- a/pkg/feeds/feeds_test.go +++ b/pkg/feeds/feeds_test.go @@ -1,4 +1,4 @@ -//go:generate mockgen -source=interfaces.go -destination=interfaces_mock_test.go -package=feeds +//go:generate mockgen -source=feeds.go -destination=feeds_mock_test.go -package=feeds package feeds @@ -14,10 +14,10 @@ func TestService_CreateFeed(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() - id := NewMockid(ctrl) + id := NewMockidService(ctrl) id.EXPECT().Generate(gomock.Any()).Times(1).Return("123", nil) - storage := NewMockstorage(ctrl) + storage := NewMockstorageService(ctrl) storage.EXPECT().CreateFeed(gomock.Any()).Times(1).Return(nil) s := service{ @@ -44,7 +44,7 @@ func TestService_GetFeed(t *testing.T) { feed := &api.Feed{Provider: api.Youtube} - storage := NewMockstorage(ctrl) + storage := NewMockstorageService(ctrl) storage.EXPECT().GetFeed("123").Times(1).Return(feed, nil) bld := NewMockbuilder(ctrl) @@ -63,7 +63,7 @@ func TestService_GetMetadata(t *testing.T) { ctrl := gomock.NewController(t) defer ctrl.Finish() - storage := NewMockstorage(ctrl) + storage := NewMockstorageService(ctrl) storage.EXPECT().GetFeed("123").Times(1).Return(&api.Feed{}, nil) s := service{storage: storage} diff --git a/pkg/feeds/interfaces.go b/pkg/feeds/interfaces.go deleted file mode 100644 index f85355e..0000000 --- a/pkg/feeds/interfaces.go +++ /dev/null @@ -1,19 +0,0 @@ -package feeds - -import ( - itunes "github.com/mxpv/podcast" - "github.com/mxpv/podsync/pkg/api" -) - -type id interface { - Generate(feed *api.Feed) (string, error) -} - -type storage interface { - CreateFeed(feed *api.Feed) error - GetFeed(hashId string) (*api.Feed, error) -} - -type builder interface { - Build(feed *api.Feed) (podcast *itunes.Podcast, err error) -}