// Code generated by mockery 2.53.2. DO NOT EDIT.

package pilgrim_mock

import (
	mock "github.com/stretchr/testify/mock"
	pilgrim_conf "mvvasilev.dev/pilgrim/internal/pilgrim_conf"
)

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

type EnvVarRetriever_Expecter struct {
	mock *mock.Mock
}

func (_m *EnvVarRetriever) EXPECT() *EnvVarRetriever_Expecter {
	return &EnvVarRetriever_Expecter{mock: &_m.Mock}
}

// Args provides a mock function with no fields
func (_m *EnvVarRetriever) Args() (map[string]string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Args")
	}

	var r0 map[string]string
	var r1 bool
	if rf, ok := ret.Get(0).(func() (map[string]string, bool)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() map[string]string); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(map[string]string)
		}
	}

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

	return r0, r1
}

// EnvVarRetriever_Args_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Args'
type EnvVarRetriever_Args_Call struct {
	*mock.Call
}

// Args is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Args() *EnvVarRetriever_Args_Call {
	return &EnvVarRetriever_Args_Call{Call: _e.mock.On("Args")}
}

func (_c *EnvVarRetriever_Args_Call) Run(run func()) *EnvVarRetriever_Args_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Args_Call) Return(value map[string]string, isDefined bool) *EnvVarRetriever_Args_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Args_Call) RunAndReturn(run func() (map[string]string, bool)) *EnvVarRetriever_Args_Call {
	_c.Call.Return(run)
	return _c
}

// Directory provides a mock function with no fields
func (_m *EnvVarRetriever) Directory() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Directory")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_Directory_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Directory'
type EnvVarRetriever_Directory_Call struct {
	*mock.Call
}

// Directory is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Directory() *EnvVarRetriever_Directory_Call {
	return &EnvVarRetriever_Directory_Call{Call: _e.mock.On("Directory")}
}

func (_c *EnvVarRetriever_Directory_Call) Run(run func()) *EnvVarRetriever_Directory_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Directory_Call) Return(value string, isDefined bool) *EnvVarRetriever_Directory_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Directory_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_Directory_Call {
	_c.Call.Return(run)
	return _c
}

// Driver provides a mock function with no fields
func (_m *EnvVarRetriever) Driver() (pilgrim_conf.DbDriver, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Driver")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_Driver_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Driver'
type EnvVarRetriever_Driver_Call struct {
	*mock.Call
}

// Driver is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Driver() *EnvVarRetriever_Driver_Call {
	return &EnvVarRetriever_Driver_Call{Call: _e.mock.On("Driver")}
}

func (_c *EnvVarRetriever_Driver_Call) Run(run func()) *EnvVarRetriever_Driver_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Driver_Call) Return(value pilgrim_conf.DbDriver, isDefined bool) *EnvVarRetriever_Driver_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Driver_Call) RunAndReturn(run func() (pilgrim_conf.DbDriver, bool)) *EnvVarRetriever_Driver_Call {
	_c.Call.Return(run)
	return _c
}

// Host provides a mock function with no fields
func (_m *EnvVarRetriever) Host() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Host")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_Host_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Host'
type EnvVarRetriever_Host_Call struct {
	*mock.Call
}

// Host is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Host() *EnvVarRetriever_Host_Call {
	return &EnvVarRetriever_Host_Call{Call: _e.mock.On("Host")}
}

func (_c *EnvVarRetriever_Host_Call) Run(run func()) *EnvVarRetriever_Host_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Host_Call) Return(value string, isDefined bool) *EnvVarRetriever_Host_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Host_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_Host_Call {
	_c.Call.Return(run)
	return _c
}

// MigrationTable provides a mock function with no fields
func (_m *EnvVarRetriever) MigrationTable() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for MigrationTable")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_MigrationTable_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'MigrationTable'
type EnvVarRetriever_MigrationTable_Call struct {
	*mock.Call
}

// MigrationTable is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) MigrationTable() *EnvVarRetriever_MigrationTable_Call {
	return &EnvVarRetriever_MigrationTable_Call{Call: _e.mock.On("MigrationTable")}
}

func (_c *EnvVarRetriever_MigrationTable_Call) Run(run func()) *EnvVarRetriever_MigrationTable_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_MigrationTable_Call) Return(value string, isDefined bool) *EnvVarRetriever_MigrationTable_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_MigrationTable_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_MigrationTable_Call {
	_c.Call.Return(run)
	return _c
}

// MigrationTableSchema provides a mock function with no fields
func (_m *EnvVarRetriever) MigrationTableSchema() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for MigrationTableSchema")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_MigrationTableSchema_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'MigrationTableSchema'
type EnvVarRetriever_MigrationTableSchema_Call struct {
	*mock.Call
}

// MigrationTableSchema is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) MigrationTableSchema() *EnvVarRetriever_MigrationTableSchema_Call {
	return &EnvVarRetriever_MigrationTableSchema_Call{Call: _e.mock.On("MigrationTableSchema")}
}

func (_c *EnvVarRetriever_MigrationTableSchema_Call) Run(run func()) *EnvVarRetriever_MigrationTableSchema_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_MigrationTableSchema_Call) Return(value string, isDefined bool) *EnvVarRetriever_MigrationTableSchema_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_MigrationTableSchema_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_MigrationTableSchema_Call {
	_c.Call.Return(run)
	return _c
}

// Password provides a mock function with no fields
func (_m *EnvVarRetriever) Password() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Password")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_Password_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Password'
type EnvVarRetriever_Password_Call struct {
	*mock.Call
}

// Password is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Password() *EnvVarRetriever_Password_Call {
	return &EnvVarRetriever_Password_Call{Call: _e.mock.On("Password")}
}

func (_c *EnvVarRetriever_Password_Call) Run(run func()) *EnvVarRetriever_Password_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Password_Call) Return(value string, isDefined bool) *EnvVarRetriever_Password_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Password_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_Password_Call {
	_c.Call.Return(run)
	return _c
}

// Port provides a mock function with no fields
func (_m *EnvVarRetriever) Port() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Port")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_Port_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Port'
type EnvVarRetriever_Port_Call struct {
	*mock.Call
}

// Port is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Port() *EnvVarRetriever_Port_Call {
	return &EnvVarRetriever_Port_Call{Call: _e.mock.On("Port")}
}

func (_c *EnvVarRetriever_Port_Call) Run(run func()) *EnvVarRetriever_Port_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Port_Call) Return(value string, isDefined bool) *EnvVarRetriever_Port_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Port_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_Port_Call {
	_c.Call.Return(run)
	return _c
}

// Segments provides a mock function with no fields
func (_m *EnvVarRetriever) Segments() ([]string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Segments")
	}

	var r0 []string
	var r1 bool
	if rf, ok := ret.Get(0).(func() ([]string, bool)); ok {
		return rf()
	}
	if rf, ok := ret.Get(0).(func() []string); ok {
		r0 = rf()
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]string)
		}
	}

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

	return r0, r1
}

// EnvVarRetriever_Segments_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Segments'
type EnvVarRetriever_Segments_Call struct {
	*mock.Call
}

// Segments is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Segments() *EnvVarRetriever_Segments_Call {
	return &EnvVarRetriever_Segments_Call{Call: _e.mock.On("Segments")}
}

func (_c *EnvVarRetriever_Segments_Call) Run(run func()) *EnvVarRetriever_Segments_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Segments_Call) Return(value []string, isDefined bool) *EnvVarRetriever_Segments_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Segments_Call) RunAndReturn(run func() ([]string, bool)) *EnvVarRetriever_Segments_Call {
	_c.Call.Return(run)
	return _c
}

// Url provides a mock function with no fields
func (_m *EnvVarRetriever) Url() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Url")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_Url_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Url'
type EnvVarRetriever_Url_Call struct {
	*mock.Call
}

// Url is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Url() *EnvVarRetriever_Url_Call {
	return &EnvVarRetriever_Url_Call{Call: _e.mock.On("Url")}
}

func (_c *EnvVarRetriever_Url_Call) Run(run func()) *EnvVarRetriever_Url_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Url_Call) Return(value string, isDefined bool) *EnvVarRetriever_Url_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Url_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_Url_Call {
	_c.Call.Return(run)
	return _c
}

// Username provides a mock function with no fields
func (_m *EnvVarRetriever) Username() (string, bool) {
	ret := _m.Called()

	if len(ret) == 0 {
		panic("no return value specified for Username")
	}

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

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

	return r0, r1
}

// EnvVarRetriever_Username_Call is a *mock.Call that shadows Run/Return methods with type explicit version for method 'Username'
type EnvVarRetriever_Username_Call struct {
	*mock.Call
}

// Username is a helper method to define mock.On call
func (_e *EnvVarRetriever_Expecter) Username() *EnvVarRetriever_Username_Call {
	return &EnvVarRetriever_Username_Call{Call: _e.mock.On("Username")}
}

func (_c *EnvVarRetriever_Username_Call) Run(run func()) *EnvVarRetriever_Username_Call {
	_c.Call.Run(func(args mock.Arguments) {
		run()
	})
	return _c
}

func (_c *EnvVarRetriever_Username_Call) Return(value string, isDefined bool) *EnvVarRetriever_Username_Call {
	_c.Call.Return(value, isDefined)
	return _c
}

func (_c *EnvVarRetriever_Username_Call) RunAndReturn(run func() (string, bool)) *EnvVarRetriever_Username_Call {
	_c.Call.Return(run)
	return _c
}

// NewEnvVarRetriever creates a new instance of EnvVarRetriever. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
// The first argument is typically a *testing.T value.
func NewEnvVarRetriever(t interface {
	mock.TestingT
	Cleanup(func())
}) *EnvVarRetriever {
	mock := &EnvVarRetriever{}
	mock.Mock.Test(t)

	t.Cleanup(func() { mock.AssertExpectations(t) })

	return mock
}