/*
Copyright 2024 The Volcano Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

// Code generated by MockGen. DO NOT EDIT.
// Source: throttling.go

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

import (
	reflect "reflect"

	gomock "github.com/golang/mock/gomock"
	api "volcano.sh/volcano/pkg/networkqos/api"
)

// MockThrottlingConfig is a mock of ThrottlingConfig interface.
type MockThrottlingConfig struct {
	ctrl     *gomock.Controller
	recorder *MockThrottlingConfigMockRecorder
}

// MockThrottlingConfigMockRecorder is the mock recorder for MockThrottlingConfig.
type MockThrottlingConfigMockRecorder struct {
	mock *MockThrottlingConfig
}

// NewMockThrottlingConfig creates a new mock instance.
func NewMockThrottlingConfig(ctrl *gomock.Controller) *MockThrottlingConfig {
	mock := &MockThrottlingConfig{ctrl: ctrl}
	mock.recorder = &MockThrottlingConfigMockRecorder{mock}
	return mock
}

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

// CreateOrUpdateThrottlingConfig mocks base method.
func (m *MockThrottlingConfig) CreateOrUpdateThrottlingConfig(onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval string) (*api.EbpfNetThrottlingConfig, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateOrUpdateThrottlingConfig", onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval)
	ret0, _ := ret[0].(*api.EbpfNetThrottlingConfig)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateOrUpdateThrottlingConfig indicates an expected call of CreateOrUpdateThrottlingConfig.
func (mr *MockThrottlingConfigMockRecorder) CreateOrUpdateThrottlingConfig(onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateOrUpdateThrottlingConfig", reflect.TypeOf((*MockThrottlingConfig)(nil).CreateOrUpdateThrottlingConfig), onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval)
}

// CreateThrottlingConfig mocks base method.
func (m *MockThrottlingConfig) CreateThrottlingConfig(onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval string) (*api.EbpfNetThrottlingConfig, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateThrottlingConfig", onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval)
	ret0, _ := ret[0].(*api.EbpfNetThrottlingConfig)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateThrottlingConfig indicates an expected call of CreateThrottlingConfig.
func (mr *MockThrottlingConfigMockRecorder) CreateThrottlingConfig(onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateThrottlingConfig", reflect.TypeOf((*MockThrottlingConfig)(nil).CreateThrottlingConfig), onlineBandwidthWatermark, offlineLowBandwidth, offlineHighBandwidth, checkInterval)
}

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

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

// GetThrottlingConfig mocks base method.
func (m *MockThrottlingConfig) GetThrottlingConfig() (*api.EbpfNetThrottlingConfig, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetThrottlingConfig")
	ret0, _ := ret[0].(*api.EbpfNetThrottlingConfig)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// GetThrottlingStatus mocks base method.
func (m *MockThrottlingConfig) GetThrottlingStatus() (*api.EbpfNetThrottling, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetThrottlingStatus")
	ret0, _ := ret[0].(*api.EbpfNetThrottling)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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