diff --git a/internal/mocks/routing.go b/internal/mocks/routing.go new file mode 100644 index 0000000..c16d557 --- /dev/null +++ b/internal/mocks/routing.go @@ -0,0 +1,122 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: internal/service/routing.go +// +// Generated by this command: +// +// mockgen -source internal/service/routing.go -package mocks +// +// Package mocks is a generated GoMock package. +package mocks + +import ( + context "context" + reflect "reflect" + + service "github.com/dionysia-dev/dionysia/internal/service" + uuid "github.com/google/uuid" + gomock "go.uber.org/mock/gomock" +) + +// MockOriginStore is a mock of OriginStore interface. +type MockOriginStore struct { + ctrl *gomock.Controller + recorder *MockOriginStoreMockRecorder +} + +// MockOriginStoreMockRecorder is the mock recorder for MockOriginStore. +type MockOriginStoreMockRecorder struct { + mock *MockOriginStore +} + +// NewMockOriginStore creates a new mock instance. +func NewMockOriginStore(ctrl *gomock.Controller) *MockOriginStore { + mock := &MockOriginStore{ctrl: ctrl} + mock.recorder = &MockOriginStoreMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOriginStore) EXPECT() *MockOriginStoreMockRecorder { + return m.recorder +} + +// Get mocks base method. +func (m *MockOriginStore) Get(arg0 context.Context, arg1 uuid.UUID) (service.Origin, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", arg0, arg1) + ret0, _ := ret[0].(service.Origin) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockOriginStoreMockRecorder) Get(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockOriginStore)(nil).Get), arg0, arg1) +} + +// Update mocks base method. +func (m *MockOriginStore) Update(arg0 context.Context, arg1 service.Origin) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Update", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// Update indicates an expected call of Update. +func (mr *MockOriginStoreMockRecorder) Update(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockOriginStore)(nil).Update), arg0, arg1) +} + +// MockOriginHandler is a mock of OriginHandler interface. +type MockOriginHandler struct { + ctrl *gomock.Controller + recorder *MockOriginHandlerMockRecorder +} + +// MockOriginHandlerMockRecorder is the mock recorder for MockOriginHandler. +type MockOriginHandlerMockRecorder struct { + mock *MockOriginHandler +} + +// NewMockOriginHandler creates a new mock instance. +func NewMockOriginHandler(ctrl *gomock.Controller) *MockOriginHandler { + mock := &MockOriginHandler{ctrl: ctrl} + mock.recorder = &MockOriginHandlerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOriginHandler) EXPECT() *MockOriginHandlerMockRecorder { + return m.recorder +} + +// Get mocks base method. +func (m *MockOriginHandler) Get(arg0 context.Context, arg1 uuid.UUID) (service.Origin, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Get", arg0, arg1) + ret0, _ := ret[0].(service.Origin) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Get indicates an expected call of Get. +func (mr *MockOriginHandlerMockRecorder) Get(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockOriginHandler)(nil).Get), arg0, arg1) +} + +// Update mocks base method. +func (m *MockOriginHandler) Update(arg0 context.Context, arg1 service.Origin) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Update", arg0, arg1) + ret0, _ := ret[0].(error) + return ret0 +} + +// Update indicates an expected call of Update. +func (mr *MockOriginHandlerMockRecorder) Update(arg0, arg1 any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Update", reflect.TypeOf((*MockOriginHandler)(nil).Update), arg0, arg1) +} diff --git a/internal/service/routing_test.go b/internal/service/routing_test.go index 1ccaf1d..164265a 100644 --- a/internal/service/routing_test.go +++ b/internal/service/routing_test.go @@ -1 +1,52 @@ package service_test + +import ( + "context" + "testing" + + "github.com/dionysia-dev/dionysia/internal/mocks" + "github.com/dionysia-dev/dionysia/internal/service" + "github.com/google/uuid" + "github.com/stretchr/testify/assert" + "go.uber.org/mock/gomock" +) + +func TestOriginHandlerUpdate(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockStore := mocks.NewMockOriginStore(ctrl) + handler := service.NewOriginHandler(mockStore) + + ctx := context.Background() + origin := service.Origin{ + ID: uuid.New(), + Address: "http://localhost:9999.com", + } + + mockStore.EXPECT().Update(ctx, origin).Return(nil) + + err := handler.Update(ctx, origin) + assert.NoError(t, err) +} + +func TestOriginHandlerGet(t *testing.T) { + ctrl := gomock.NewController(t) + defer ctrl.Finish() + + mockStore := mocks.NewMockOriginStore(ctrl) + handler := service.NewOriginHandler(mockStore) + + ctx := context.Background() + id := uuid.New() + expectedOrigin := service.Origin{ + ID: id, + Address: "http://localhost:9999.com", + } + + mockStore.EXPECT().Get(ctx, id).Return(expectedOrigin, nil) + + origin, err := handler.Get(ctx, id) + assert.NoError(t, err) + assert.Equal(t, expectedOrigin, origin) +}