// Code generated by MockGen. DO NOT EDIT.
// Source: client.go
//
// Generated by this command:
//
//	mockgen -write_generate_directive -destination choria_client_mock_test.go -source client.go -package client
//

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

import (
	context "context"
	reflect "reflect"

	client "github.com/choria-io/go-choria/client/client"
	inter "github.com/choria-io/go-choria/inter"
	gomock "go.uber.org/mock/gomock"
)

//go:generate mockgen -write_generate_directive -destination choria_client_mock_test.go -source client.go -package client

// MockRequestResult is a mock of RequestResult interface.
type MockRequestResult struct {
	ctrl     *gomock.Controller
	recorder *MockRequestResultMockRecorder
	isgomock struct{}
}

// MockRequestResultMockRecorder is the mock recorder for MockRequestResult.
type MockRequestResultMockRecorder struct {
	mock *MockRequestResult
}

// NewMockRequestResult creates a new mock instance.
func NewMockRequestResult(ctrl *gomock.Controller) *MockRequestResult {
	mock := &MockRequestResult{ctrl: ctrl}
	mock.recorder = &MockRequestResultMockRecorder{mock}
	return mock
}

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

// Stats mocks base method.
func (m *MockRequestResult) Stats() *Stats {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Stats")
	ret0, _ := ret[0].(*Stats)
	return ret0
}

// Stats indicates an expected call of Stats.
func (mr *MockRequestResultMockRecorder) Stats() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Stats", reflect.TypeOf((*MockRequestResult)(nil).Stats))
}

// MockChoriaClient is a mock of ChoriaClient interface.
type MockChoriaClient struct {
	ctrl     *gomock.Controller
	recorder *MockChoriaClientMockRecorder
	isgomock struct{}
}

// MockChoriaClientMockRecorder is the mock recorder for MockChoriaClient.
type MockChoriaClientMockRecorder struct {
	mock *MockChoriaClient
}

// NewMockChoriaClient creates a new mock instance.
func NewMockChoriaClient(ctrl *gomock.Controller) *MockChoriaClient {
	mock := &MockChoriaClient{ctrl: ctrl}
	mock.recorder = &MockChoriaClientMockRecorder{mock}
	return mock
}

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

// Request mocks base method.
func (m *MockChoriaClient) Request(ctx context.Context, msg inter.Message, handler client.Handler) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Request", ctx, msg, handler)
	ret0, _ := ret[0].(error)
	return ret0
}

// Request indicates an expected call of Request.
func (mr *MockChoriaClientMockRecorder) Request(ctx, msg, handler any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Request", reflect.TypeOf((*MockChoriaClient)(nil).Request), ctx, msg, handler)
}

// MockConnector is a mock of Connector interface.
type MockConnector struct {
	ctrl     *gomock.Controller
	recorder *MockConnectorMockRecorder
	isgomock struct{}
}

// MockConnectorMockRecorder is the mock recorder for MockConnector.
type MockConnectorMockRecorder struct {
	mock *MockConnector
}

// NewMockConnector creates a new mock instance.
func NewMockConnector(ctrl *gomock.Controller) *MockConnector {
	mock := &MockConnector{ctrl: ctrl}
	mock.recorder = &MockConnectorMockRecorder{mock}
	return mock
}

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

// Publish mocks base method.
func (m *MockConnector) Publish(msg inter.Message) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Publish", msg)
	ret0, _ := ret[0].(error)
	return ret0
}

// Publish indicates an expected call of Publish.
func (mr *MockConnectorMockRecorder) Publish(msg any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Publish", reflect.TypeOf((*MockConnector)(nil).Publish), msg)
}

// QueueSubscribe mocks base method.
func (m *MockConnector) QueueSubscribe(ctx context.Context, name, subject, group string, output chan inter.ConnectorMessage) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "QueueSubscribe", ctx, name, subject, group, output)
	ret0, _ := ret[0].(error)
	return ret0
}

// QueueSubscribe indicates an expected call of QueueSubscribe.
func (mr *MockConnectorMockRecorder) QueueSubscribe(ctx, name, subject, group, output any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueueSubscribe", reflect.TypeOf((*MockConnector)(nil).QueueSubscribe), ctx, name, subject, group, output)
}
