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

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

import (
	context "context"
	reflect "reflect"

	gomock "go.uber.org/mock/gomock"
)

// MockProgressiveRolloutExecutor is a mock of ProgressiveRolloutExecutor interface.
type MockProgressiveRolloutExecutor struct {
	ctrl     *gomock.Controller
	recorder *MockProgressiveRolloutExecutorMockRecorder
}

// MockProgressiveRolloutExecutorMockRecorder is the mock recorder for MockProgressiveRolloutExecutor.
type MockProgressiveRolloutExecutorMockRecorder struct {
	mock *MockProgressiveRolloutExecutor
}

// NewMockProgressiveRolloutExecutor creates a new mock instance.
func NewMockProgressiveRolloutExecutor(ctrl *gomock.Controller) *MockProgressiveRolloutExecutor {
	mock := &MockProgressiveRolloutExecutor{ctrl: ctrl}
	mock.recorder = &MockProgressiveRolloutExecutorMockRecorder{mock}
	return mock
}

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

// ExecuteProgressiveRollout mocks base method.
func (m *MockProgressiveRolloutExecutor) ExecuteProgressiveRollout(ctx context.Context, environmentId, ruleID, scheduleID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ExecuteProgressiveRollout", ctx, environmentId, ruleID, scheduleID)
	ret0, _ := ret[0].(error)
	return ret0
}

// ExecuteProgressiveRollout indicates an expected call of ExecuteProgressiveRollout.
func (mr *MockProgressiveRolloutExecutorMockRecorder) ExecuteProgressiveRollout(ctx, environmentId, ruleID, scheduleID any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExecuteProgressiveRollout", reflect.TypeOf((*MockProgressiveRolloutExecutor)(nil).ExecuteProgressiveRollout), ctx, environmentId, ruleID, scheduleID)
}
