// Code generated by MockGen. DO NOT EDIT.
// Source: operator_release_history.go
//
// Generated by this command:
//
//	mockgen -source=operator_release_history.go -destination=../../mocks/model_operator_release_history.go -package=mocks
//

// Package mocks is a generated GoMock package.
package mocks

import (
	context "context"
	sql "database/sql"
	reflect "reflect"

	model "github.com/kweaver-ai/adp/execution-factory/operator-integration/server/interfaces/model"
	gomock "go.uber.org/mock/gomock"
)

// MockIOperatorReleaseHistoryDB is a mock of IOperatorReleaseHistoryDB interface.
type MockIOperatorReleaseHistoryDB struct {
	ctrl     *gomock.Controller
	recorder *MockIOperatorReleaseHistoryDBMockRecorder
	isgomock struct{}
}

// MockIOperatorReleaseHistoryDBMockRecorder is the mock recorder for MockIOperatorReleaseHistoryDB.
type MockIOperatorReleaseHistoryDBMockRecorder struct {
	mock *MockIOperatorReleaseHistoryDB
}

// NewMockIOperatorReleaseHistoryDB creates a new mock instance.
func NewMockIOperatorReleaseHistoryDB(ctrl *gomock.Controller) *MockIOperatorReleaseHistoryDB {
	mock := &MockIOperatorReleaseHistoryDB{ctrl: ctrl}
	mock.recorder = &MockIOperatorReleaseHistoryDBMockRecorder{mock}
	return mock
}

// EXPECT returns an object that allows the caller to indicate expected use.
func (m *MockIOperatorReleaseHistoryDB) EXPECT() *MockIOperatorReleaseHistoryDBMockRecorder {
	return m.recorder
}

// BatchDeleteByID mocks base method.
func (m *MockIOperatorReleaseHistoryDB) BatchDeleteByID(ctx context.Context, tx *sql.Tx, ids []int64) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "BatchDeleteByID", ctx, tx, ids)
	ret0, _ := ret[0].(error)
	return ret0
}

// BatchDeleteByID indicates an expected call of BatchDeleteByID.
func (mr *MockIOperatorReleaseHistoryDBMockRecorder) BatchDeleteByID(ctx, tx, ids any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "BatchDeleteByID", reflect.TypeOf((*MockIOperatorReleaseHistoryDB)(nil).BatchDeleteByID), ctx, tx, ids)
}

// DeleteByOpID mocks base method.
func (m *MockIOperatorReleaseHistoryDB) DeleteByOpID(ctx context.Context, tx *sql.Tx, opID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteByOpID", ctx, tx, opID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteByOpID indicates an expected call of DeleteByOpID.
func (mr *MockIOperatorReleaseHistoryDBMockRecorder) DeleteByOpID(ctx, tx, opID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByOpID", reflect.TypeOf((*MockIOperatorReleaseHistoryDB)(nil).DeleteByOpID), ctx, tx, opID)
}

// Insert mocks base method.
func (m *MockIOperatorReleaseHistoryDB) Insert(ctx context.Context, tx *sql.Tx, historyDB *model.OperatorReleaseHistoryDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Insert", ctx, tx, historyDB)
	ret0, _ := ret[0].(error)
	return ret0
}

// Insert indicates an expected call of Insert.
func (mr *MockIOperatorReleaseHistoryDBMockRecorder) Insert(ctx, tx, historyDB any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Insert", reflect.TypeOf((*MockIOperatorReleaseHistoryDB)(nil).Insert), ctx, tx, historyDB)
}

// SelectByOpID mocks base method.
func (m *MockIOperatorReleaseHistoryDB) SelectByOpID(ctx context.Context, opID string) ([]*model.OperatorReleaseHistoryDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectByOpID", ctx, opID)
	ret0, _ := ret[0].([]*model.OperatorReleaseHistoryDB)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// SelectByOpID indicates an expected call of SelectByOpID.
func (mr *MockIOperatorReleaseHistoryDBMockRecorder) SelectByOpID(ctx, opID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectByOpID", reflect.TypeOf((*MockIOperatorReleaseHistoryDB)(nil).SelectByOpID), ctx, opID)
}

// SelectByOpIDAndMetdata mocks base method.
func (m *MockIOperatorReleaseHistoryDB) SelectByOpIDAndMetdata(ctx context.Context, opID, metadataVersion string) (bool, *model.OperatorReleaseHistoryDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectByOpIDAndMetdata", ctx, opID, metadataVersion)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(*model.OperatorReleaseHistoryDB)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SelectByOpIDAndMetdata indicates an expected call of SelectByOpIDAndMetdata.
func (mr *MockIOperatorReleaseHistoryDBMockRecorder) SelectByOpIDAndMetdata(ctx, opID, metadataVersion any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectByOpIDAndMetdata", reflect.TypeOf((*MockIOperatorReleaseHistoryDB)(nil).SelectByOpIDAndMetdata), ctx, opID, metadataVersion)
}

// SelectByOpIDAndTag mocks base method.
func (m *MockIOperatorReleaseHistoryDB) SelectByOpIDAndTag(ctx context.Context, opID string, tag int) (bool, *model.OperatorReleaseHistoryDB, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "SelectByOpIDAndTag", ctx, opID, tag)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(*model.OperatorReleaseHistoryDB)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// SelectByOpIDAndTag indicates an expected call of SelectByOpIDAndTag.
func (mr *MockIOperatorReleaseHistoryDBMockRecorder) SelectByOpIDAndTag(ctx, opID, tag any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectByOpIDAndTag", reflect.TypeOf((*MockIOperatorReleaseHistoryDB)(nil).SelectByOpIDAndTag), ctx, opID, tag)
}

// UpdateReleaseHistoryByID mocks base method.
func (m *MockIOperatorReleaseHistoryDB) UpdateReleaseHistoryByID(ctx context.Context, tx *sql.Tx, historyDB *model.OperatorReleaseHistoryDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateReleaseHistoryByID", ctx, tx, historyDB)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateReleaseHistoryByID indicates an expected call of UpdateReleaseHistoryByID.
func (mr *MockIOperatorReleaseHistoryDBMockRecorder) UpdateReleaseHistoryByID(ctx, tx, historyDB any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateReleaseHistoryByID", reflect.TypeOf((*MockIOperatorReleaseHistoryDB)(nil).UpdateReleaseHistoryByID), ctx, tx, historyDB)
}
