// Code generated by mockery v2.9.4. DO NOT EDIT.

package mocks

import (
	json "encoding/json"

	mock "github.com/stretchr/testify/mock"

	manager "github.com/caraml-dev/turing/engines/experiment/manager"
)

// StandardExperimentManager is an autogenerated mock type for the StandardExperimentManager type
type StandardExperimentManager struct {
	mock.Mock
}

// GetEngineInfo provides a mock function with given fields:
func (_m *StandardExperimentManager) GetEngineInfo() (manager.Engine, error) {
	ret := _m.Called()

	var r0 manager.Engine
	if rf, ok := ret.Get(0).(func() manager.Engine); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(manager.Engine)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// GetExperimentRunnerConfig provides a mock function with given fields: cfg
func (_m *StandardExperimentManager) GetExperimentRunnerConfig(cfg json.RawMessage) (json.RawMessage, error) {
	ret := _m.Called(cfg)

	var r0 json.RawMessage
	if rf, ok := ret.Get(0).(func(json.RawMessage) json.RawMessage); ok {
		r0 = rf(cfg)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(json.RawMessage)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(json.RawMessage) error); ok {
		r1 = rf(cfg)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// IsCacheEnabled provides a mock function with given fields:
func (_m *StandardExperimentManager) IsCacheEnabled() (bool, error) {
	ret := _m.Called()

	var r0 bool
	if rf, ok := ret.Get(0).(func() bool); ok {
		r0 = rf()
	} else {
		r0 = ret.Get(0).(bool)
	}

	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListClients provides a mock function with given fields:
func (_m *StandardExperimentManager) ListClients() ([]manager.Client, error) {
	ret := _m.Called()

	var r0 []manager.Client
	if rf, ok := ret.Get(0).(func() []manager.Client); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]manager.Client)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListExperiments provides a mock function with given fields:
func (_m *StandardExperimentManager) ListExperiments() ([]manager.Experiment, error) {
	ret := _m.Called()

	var r0 []manager.Experiment
	if rf, ok := ret.Get(0).(func() []manager.Experiment); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]manager.Experiment)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func() error); ok {
		r1 = rf()
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListExperimentsForClient provides a mock function with given fields: _a0
func (_m *StandardExperimentManager) ListExperimentsForClient(_a0 manager.Client) ([]manager.Experiment, error) {
	ret := _m.Called(_a0)

	var r0 []manager.Experiment
	if rf, ok := ret.Get(0).(func(manager.Client) []manager.Experiment); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]manager.Experiment)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(manager.Client) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListVariablesForClient provides a mock function with given fields: _a0
func (_m *StandardExperimentManager) ListVariablesForClient(_a0 manager.Client) ([]manager.Variable, error) {
	ret := _m.Called(_a0)

	var r0 []manager.Variable
	if rf, ok := ret.Get(0).(func(manager.Client) []manager.Variable); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]manager.Variable)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(manager.Client) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ListVariablesForExperiments provides a mock function with given fields: _a0
func (_m *StandardExperimentManager) ListVariablesForExperiments(_a0 []manager.Experiment) (map[string][]manager.Variable, error) {
	ret := _m.Called(_a0)

	var r0 map[string][]manager.Variable
	if rf, ok := ret.Get(0).(func([]manager.Experiment) map[string][]manager.Variable); ok {
		r0 = rf(_a0)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(map[string][]manager.Variable)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func([]manager.Experiment) error); ok {
		r1 = rf(_a0)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

// ValidateExperimentConfig provides a mock function with given fields: cfg
func (_m *StandardExperimentManager) ValidateExperimentConfig(cfg json.RawMessage) error {
	ret := _m.Called(cfg)

	var r0 error
	if rf, ok := ret.Get(0).(func(json.RawMessage) error); ok {
		r0 = rf(cfg)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}
