// Code generated by MockGen. DO NOT EDIT.
// Source: api_metadata.go
//
// Generated by this command:
//
//	mockgen -source=api_metadata.go -destination=../../mocks/model_api_metadata.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"
)

// MockIAPIMetadataDB is a mock of IAPIMetadataDB interface.
type MockIAPIMetadataDB struct {
	ctrl     *gomock.Controller
	recorder *MockIAPIMetadataDBMockRecorder
	isgomock struct{}
}

// MockIAPIMetadataDBMockRecorder is the mock recorder for MockIAPIMetadataDB.
type MockIAPIMetadataDBMockRecorder struct {
	mock *MockIAPIMetadataDB
}

// NewMockIAPIMetadataDB creates a new mock instance.
func NewMockIAPIMetadataDB(ctrl *gomock.Controller) *MockIAPIMetadataDB {
	mock := &MockIAPIMetadataDB{ctrl: ctrl}
	mock.recorder = &MockIAPIMetadataDBMockRecorder{mock}
	return mock
}

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

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

// DeleteByVersion indicates an expected call of DeleteByVersion.
func (mr *MockIAPIMetadataDBMockRecorder) DeleteByVersion(ctx, tx, version any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByVersion", reflect.TypeOf((*MockIAPIMetadataDB)(nil).DeleteByVersion), ctx, tx, version)
}

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

// DeleteByVersions indicates an expected call of DeleteByVersions.
func (mr *MockIAPIMetadataDBMockRecorder) DeleteByVersions(ctx, tx, versions any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByVersions", reflect.TypeOf((*MockIAPIMetadataDB)(nil).DeleteByVersions), ctx, tx, versions)
}

// InsertAPIMetadata mocks base method.
func (m *MockIAPIMetadataDB) InsertAPIMetadata(ctx context.Context, tx *sql.Tx, metadata *model.APIMetadataDB) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InsertAPIMetadata", ctx, tx, metadata)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// InsertAPIMetadata indicates an expected call of InsertAPIMetadata.
func (mr *MockIAPIMetadataDBMockRecorder) InsertAPIMetadata(ctx, tx, metadata any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsertAPIMetadata", reflect.TypeOf((*MockIAPIMetadataDB)(nil).InsertAPIMetadata), ctx, tx, metadata)
}

// InsertAPIMetadatas mocks base method.
func (m *MockIAPIMetadataDB) InsertAPIMetadatas(ctx context.Context, tx *sql.Tx, metadatas []*model.APIMetadataDB) ([]string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "InsertAPIMetadatas", ctx, tx, metadatas)
	ret0, _ := ret[0].([]string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// InsertAPIMetadatas indicates an expected call of InsertAPIMetadatas.
func (mr *MockIAPIMetadataDBMockRecorder) InsertAPIMetadatas(ctx, tx, metadatas any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsertAPIMetadatas", reflect.TypeOf((*MockIAPIMetadataDB)(nil).InsertAPIMetadatas), ctx, tx, metadatas)
}

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

// SelectByVersion indicates an expected call of SelectByVersion.
func (mr *MockIAPIMetadataDBMockRecorder) SelectByVersion(ctx, version any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectByVersion", reflect.TypeOf((*MockIAPIMetadataDB)(nil).SelectByVersion), ctx, version)
}

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

// SelectListByVersion indicates an expected call of SelectListByVersion.
func (mr *MockIAPIMetadataDBMockRecorder) SelectListByVersion(ctx, versions any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SelectListByVersion", reflect.TypeOf((*MockIAPIMetadataDB)(nil).SelectListByVersion), ctx, versions)
}

// UpdateByID mocks base method.
func (m *MockIAPIMetadataDB) UpdateByID(ctx context.Context, tx *sql.Tx, id int64, metadata *model.APIMetadataDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateByID", ctx, tx, id, metadata)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateByID indicates an expected call of UpdateByID.
func (mr *MockIAPIMetadataDBMockRecorder) UpdateByID(ctx, tx, id, metadata any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateByID", reflect.TypeOf((*MockIAPIMetadataDB)(nil).UpdateByID), ctx, tx, id, metadata)
}

// UpdateByVersion mocks base method.
func (m *MockIAPIMetadataDB) UpdateByVersion(ctx context.Context, tx *sql.Tx, version string, metadata *model.APIMetadataDB) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "UpdateByVersion", ctx, tx, version, metadata)
	ret0, _ := ret[0].(error)
	return ret0
}

// UpdateByVersion indicates an expected call of UpdateByVersion.
func (mr *MockIAPIMetadataDBMockRecorder) UpdateByVersion(ctx, tx, version, metadata any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateByVersion", reflect.TypeOf((*MockIAPIMetadataDB)(nil).UpdateByVersion), ctx, tx, version, metadata)
}
