diff --git a/database.go b/database.go index 9e2517d..5f70f55 100644 --- a/database.go +++ b/database.go @@ -10,6 +10,14 @@ import ( "go.mongodb.org/mongo-driver/mongo/readpref" ) +//go:generate mockgen -source=./database.go -destination=./mocks/database.go -package=mock_colt DatabaseIface +type DatabaseIface interface { + Client() *mongo.Client + Connect(connectionString string, dbName string) error + Ping() error + Disconnect() error +} + type Database struct { db *mongo.Database client *mongo.Client @@ -35,6 +43,10 @@ func (db *Database) connect(options *options.ClientOptions, dbName string) error return nil } +func (db *Database) Client() *mongo.Client { + return db.client +} + func (db *Database) Connect(connectionString string, dbName string) error { options := options.Client().ApplyURI(connectionString) err := db.connect(options, dbName) diff --git a/mocks/database.go b/mocks/database.go new file mode 100644 index 0000000..353f395 --- /dev/null +++ b/mocks/database.go @@ -0,0 +1,97 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: ./database.go +// +// Generated by this command: +// +// mockgen -source=./database.go -destination=./mocks/database.go -package=mock_colt DatabaseIface +// + +// Package mock_colt is a generated GoMock package. +package mock_colt + +import ( + reflect "reflect" + + mongo "go.mongodb.org/mongo-driver/mongo" + gomock "go.uber.org/mock/gomock" +) + +// MockDatabaseIface is a mock of DatabaseIface interface. +type MockDatabaseIface struct { + ctrl *gomock.Controller + recorder *MockDatabaseIfaceMockRecorder + isgomock struct{} +} + +// MockDatabaseIfaceMockRecorder is the mock recorder for MockDatabaseIface. +type MockDatabaseIfaceMockRecorder struct { + mock *MockDatabaseIface +} + +// NewMockDatabaseIface creates a new mock instance. +func NewMockDatabaseIface(ctrl *gomock.Controller) *MockDatabaseIface { + mock := &MockDatabaseIface{ctrl: ctrl} + mock.recorder = &MockDatabaseIfaceMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockDatabaseIface) EXPECT() *MockDatabaseIfaceMockRecorder { + return m.recorder +} + +// Client mocks base method. +func (m *MockDatabaseIface) Client() *mongo.Client { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Client") + ret0, _ := ret[0].(*mongo.Client) + return ret0 +} + +// Client indicates an expected call of Client. +func (mr *MockDatabaseIfaceMockRecorder) Client() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Client", reflect.TypeOf((*MockDatabaseIface)(nil).Client)) +} + +// Connect mocks base method. +func (m *MockDatabaseIface) Connect(connectionString, dbName string) error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Connect", connectionString, dbName) + ret0, _ := ret[0].(error) + return ret0 +} + +// Connect indicates an expected call of Connect. +func (mr *MockDatabaseIfaceMockRecorder) Connect(connectionString, dbName any) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Connect", reflect.TypeOf((*MockDatabaseIface)(nil).Connect), connectionString, dbName) +} + +// Disconnect mocks base method. +func (m *MockDatabaseIface) Disconnect() error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Disconnect") + ret0, _ := ret[0].(error) + return ret0 +} + +// Disconnect indicates an expected call of Disconnect. +func (mr *MockDatabaseIfaceMockRecorder) Disconnect() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Disconnect", reflect.TypeOf((*MockDatabaseIface)(nil).Disconnect)) +} + +// Ping mocks base method. +func (m *MockDatabaseIface) Ping() error { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Ping") + ret0, _ := ret[0].(error) + return ret0 +} + +// Ping indicates an expected call of Ping. +func (mr *MockDatabaseIfaceMockRecorder) Ping() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Ping", reflect.TypeOf((*MockDatabaseIface)(nil).Ping)) +}