// Copyright 2024 Antrea 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: antrea.io/antrea/pkg/ovs/ovsctl (interfaces: OVSOfctlRunner,OVSAppctlRunner)
//
// Generated by this command:
//
//	mockgen -copyright_file hack/boilerplate/license_header.raw.txt -destination pkg/ovs/ovsctl/mock_ovsctl_test.go -package ovsctl antrea.io/antrea/pkg/ovs/ovsctl OVSOfctlRunner,OVSAppctlRunner
//

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

import (
	reflect "reflect"

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

// MockOVSOfctlRunner is a mock of OVSOfctlRunner interface.
type MockOVSOfctlRunner struct {
	ctrl     *gomock.Controller
	recorder *MockOVSOfctlRunnerMockRecorder
	isgomock struct{}
}

// MockOVSOfctlRunnerMockRecorder is the mock recorder for MockOVSOfctlRunner.
type MockOVSOfctlRunnerMockRecorder struct {
	mock *MockOVSOfctlRunner
}

// NewMockOVSOfctlRunner creates a new mock instance.
func NewMockOVSOfctlRunner(ctrl *gomock.Controller) *MockOVSOfctlRunner {
	mock := &MockOVSOfctlRunner{ctrl: ctrl}
	mock.recorder = &MockOVSOfctlRunnerMockRecorder{mock}
	return mock
}

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

// RunOfctlCmd mocks base method.
func (m *MockOVSOfctlRunner) RunOfctlCmd(cmd string, args ...string) ([]byte, error) {
	m.ctrl.T.Helper()
	varargs := []any{cmd}
	for _, a := range args {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "RunOfctlCmd", varargs...)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RunOfctlCmd indicates an expected call of RunOfctlCmd.
func (mr *MockOVSOfctlRunnerMockRecorder) RunOfctlCmd(cmd any, args ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{cmd}, args...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunOfctlCmd", reflect.TypeOf((*MockOVSOfctlRunner)(nil).RunOfctlCmd), varargs...)
}

// MockOVSAppctlRunner is a mock of OVSAppctlRunner interface.
type MockOVSAppctlRunner struct {
	ctrl     *gomock.Controller
	recorder *MockOVSAppctlRunnerMockRecorder
	isgomock struct{}
}

// MockOVSAppctlRunnerMockRecorder is the mock recorder for MockOVSAppctlRunner.
type MockOVSAppctlRunnerMockRecorder struct {
	mock *MockOVSAppctlRunner
}

// NewMockOVSAppctlRunner creates a new mock instance.
func NewMockOVSAppctlRunner(ctrl *gomock.Controller) *MockOVSAppctlRunner {
	mock := &MockOVSAppctlRunner{ctrl: ctrl}
	mock.recorder = &MockOVSAppctlRunnerMockRecorder{mock}
	return mock
}

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

// RunAppctlCmd mocks base method.
func (m *MockOVSAppctlRunner) RunAppctlCmd(cmd string, needsBridge bool, args ...string) ([]byte, error) {
	m.ctrl.T.Helper()
	varargs := []any{cmd, needsBridge}
	for _, a := range args {
		varargs = append(varargs, a)
	}
	ret := m.ctrl.Call(m, "RunAppctlCmd", varargs...)
	ret0, _ := ret[0].([]byte)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RunAppctlCmd indicates an expected call of RunAppctlCmd.
func (mr *MockOVSAppctlRunnerMockRecorder) RunAppctlCmd(cmd, needsBridge any, args ...any) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	varargs := append([]any{cmd, needsBridge}, args...)
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RunAppctlCmd", reflect.TypeOf((*MockOVSAppctlRunner)(nil).RunAppctlCmd), varargs...)
}
