// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/stacklok/toolhive/pkg/vmcp/server/adapter (interfaces: HandlerFactory)
//
// Generated by this command:
//
//	mockgen -destination=mocks/mock_handler_factory.go -package=mocks github.com/stacklok/toolhive/pkg/vmcp/server/adapter HandlerFactory
//

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

import (
	context "context"
	reflect "reflect"

	mcp "github.com/mark3labs/mcp-go/mcp"
	adapter "github.com/stacklok/toolhive/pkg/vmcp/server/adapter"
	gomock "go.uber.org/mock/gomock"
)

// MockHandlerFactory is a mock of HandlerFactory interface.
type MockHandlerFactory struct {
	ctrl     *gomock.Controller
	recorder *MockHandlerFactoryMockRecorder
	isgomock struct{}
}

// MockHandlerFactoryMockRecorder is the mock recorder for MockHandlerFactory.
type MockHandlerFactoryMockRecorder struct {
	mock *MockHandlerFactory
}

// NewMockHandlerFactory creates a new mock instance.
func NewMockHandlerFactory(ctrl *gomock.Controller) *MockHandlerFactory {
	mock := &MockHandlerFactory{ctrl: ctrl}
	mock.recorder = &MockHandlerFactoryMockRecorder{mock}
	return mock
}

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

// CreateCompositeToolHandler mocks base method.
func (m *MockHandlerFactory) CreateCompositeToolHandler(toolName string, workflow adapter.WorkflowExecutor) func(context.Context, mcp.CallToolRequest) (*mcp.CallToolResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateCompositeToolHandler", toolName, workflow)
	ret0, _ := ret[0].(func(context.Context, mcp.CallToolRequest) (*mcp.CallToolResult, error))
	return ret0
}

// CreateCompositeToolHandler indicates an expected call of CreateCompositeToolHandler.
func (mr *MockHandlerFactoryMockRecorder) CreateCompositeToolHandler(toolName, workflow any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateCompositeToolHandler", reflect.TypeOf((*MockHandlerFactory)(nil).CreateCompositeToolHandler), toolName, workflow)
}

// CreatePromptHandler mocks base method.
func (m *MockHandlerFactory) CreatePromptHandler(promptName string) func(context.Context, mcp.GetPromptRequest) (*mcp.GetPromptResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreatePromptHandler", promptName)
	ret0, _ := ret[0].(func(context.Context, mcp.GetPromptRequest) (*mcp.GetPromptResult, error))
	return ret0
}

// CreatePromptHandler indicates an expected call of CreatePromptHandler.
func (mr *MockHandlerFactoryMockRecorder) CreatePromptHandler(promptName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePromptHandler", reflect.TypeOf((*MockHandlerFactory)(nil).CreatePromptHandler), promptName)
}

// CreateResourceHandler mocks base method.
func (m *MockHandlerFactory) CreateResourceHandler(uri string) func(context.Context, mcp.ReadResourceRequest) ([]mcp.ResourceContents, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateResourceHandler", uri)
	ret0, _ := ret[0].(func(context.Context, mcp.ReadResourceRequest) ([]mcp.ResourceContents, error))
	return ret0
}

// CreateResourceHandler indicates an expected call of CreateResourceHandler.
func (mr *MockHandlerFactoryMockRecorder) CreateResourceHandler(uri any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateResourceHandler", reflect.TypeOf((*MockHandlerFactory)(nil).CreateResourceHandler), uri)
}

// CreateToolHandler mocks base method.
func (m *MockHandlerFactory) CreateToolHandler(toolName string) func(context.Context, mcp.CallToolRequest) (*mcp.CallToolResult, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateToolHandler", toolName)
	ret0, _ := ret[0].(func(context.Context, mcp.CallToolRequest) (*mcp.CallToolResult, error))
	return ret0
}

// CreateToolHandler indicates an expected call of CreateToolHandler.
func (mr *MockHandlerFactoryMockRecorder) CreateToolHandler(toolName any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateToolHandler", reflect.TypeOf((*MockHandlerFactory)(nil).CreateToolHandler), toolName)
}
