// Copyright (c) 2022, R.I. Pienaar and the Choria Project contributors
//
// SPDX-License-Identifier: Apache-2.0

// Code generated by MockGen. DO NOT EDIT.
// Source: agent.go

//  mockgen --source agent.go --package testagent

// Package mockagent is a generated GoMock package.
package agentharness

import (
	context "context"
	reflect "reflect"

	inter "github.com/choria-io/go-choria/inter"
	mcorpc "github.com/choria-io/go-choria/providers/agent/mcorpc"
	gomock "go.uber.org/mock/gomock"
)

// MockActionMiddleware is a mock of ActionMiddleware interface.
type MockActionMiddleware struct {
	ctrl     *gomock.Controller
	recorder *MockActionMiddlewareMockRecorder
}

// MockActionMiddlewareMockRecorder is the mock recorder for MockActionMiddleware.
type MockActionMiddlewareMockRecorder struct {
	mock *MockActionMiddleware
}

// NewMockActionMiddleware creates a new mock instance.
func NewMockActionMiddleware(ctrl *gomock.Controller) *MockActionMiddleware {
	mock := &MockActionMiddleware{ctrl: ctrl}
	mock.recorder = &MockActionMiddlewareMockRecorder{mock}
	return mock
}

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

// Action mocks base method.
func (m *MockActionMiddleware) Action(ctx context.Context, req *mcorpc.Request, rep *mcorpc.Reply, agent *mcorpc.Agent, conn inter.ConnectorInfo) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "Action", ctx, req, rep, agent, conn)
}

// Action indicates an expected call of Action.
func (mr *MockActionMiddlewareMockRecorder) Action(ctx, req, rep, agent, conn any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Action", reflect.TypeOf((*MockActionMiddleware)(nil).Action), ctx, req, rep, agent, conn)
}
