// Code generated by mockery v2.13.0-beta.1. DO NOT EDIT.

package config

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

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

// CreateAccount provides a mock function with given fields: acc
func (_m *ServiceMock) CreateAccount(acc Account) error {
	ret := _m.Called(acc)

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

	return r0
}

// CreateConfig provides a mock function with given fields: config
func (_m *ServiceMock) CreateConfig(config Configuration) error {
	ret := _m.Called(config)

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

	return r0
}

// CreatePodAdmin provides a mock function with given fields: nodeAdmin
func (_m *ServiceMock) CreatePodAdmin(nodeAdmin PodAdmin) error {
	ret := _m.Called(nodeAdmin)

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

	return r0
}

// CreatePodOperator provides a mock function with given fields: podOperator
func (_m *ServiceMock) CreatePodOperator(podOperator PodOperator) error {
	ret := _m.Called(podOperator)

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

	return r0
}

// DeleteAccount provides a mock function with given fields: identifier
func (_m *ServiceMock) DeleteAccount(identifier []byte) error {
	ret := _m.Called(identifier)

	var r0 error
	if rf, ok := ret.Get(0).(func([]byte) error); ok {
		r0 = rf(identifier)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// GetAccount provides a mock function with given fields: identifier
func (_m *ServiceMock) GetAccount(identifier []byte) (Account, error) {
	ret := _m.Called(identifier)

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

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

	return r0, r1
}

// GetAccounts provides a mock function with given fields:
func (_m *ServiceMock) GetAccounts() ([]Account, error) {
	ret := _m.Called()

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

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

	return r0, r1
}

// GetConfig provides a mock function with given fields:
func (_m *ServiceMock) GetConfig() (Configuration, error) {
	ret := _m.Called()

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

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

	return r0, r1
}

// GetPodAdmin provides a mock function with given fields:
func (_m *ServiceMock) GetPodAdmin() (PodAdmin, error) {
	ret := _m.Called()

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

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

	return r0, r1
}

// GetPodOperator provides a mock function with given fields:
func (_m *ServiceMock) GetPodOperator() (PodOperator, error) {
	ret := _m.Called()

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

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

	return r0, r1
}

// UpdateAccount provides a mock function with given fields: account
func (_m *ServiceMock) UpdateAccount(account Account) error {
	ret := _m.Called(account)

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

	return r0
}

type NewServiceMockT interface {
	mock.TestingT
	Cleanup(func())
}

// NewServiceMock creates a new instance of ServiceMock. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations.
func NewServiceMock(t NewServiceMockT) *ServiceMock {
	mock := &ServiceMock{}
	mock.Mock.Test(t)

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

	return mock
}
