// Code generated by mockery v2.9.4. DO NOT EDIT.
// It says DO NOT EDIT but it has been edited. :-)
// Combines a Plugin and a SouthboundInterface to represent a Csbi.

package mocks

import (
	gosdnsouthbound "code.fbi.h-da.de/danet/gosdn/api/go/gosdn/southbound"
	plugin "code.fbi.h-da.de/danet/gosdn/controller/interfaces/plugin"
	gnmi "github.com/openconfig/gnmi/proto/gnmi"

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

	uuid "github.com/google/uuid"

	yang "github.com/openconfig/goyang/pkg/yang"

	ygot "github.com/openconfig/ygot/ygot"

	ytypes "github.com/openconfig/ygot/ytypes"
)

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

// ID provides a mock function with given fields:
func (_m *Csbi) ID() uuid.UUID {
	ret := _m.Called()

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

	return r0
}

// Manifest provides a mock function with given fields:
func (_m *Csbi) Manifest() *plugin.Manifest {
	ret := _m.Called()

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

	return r0
}

// Path provides a mock function with given fields:
func (_m *Csbi) Path() string {
	ret := _m.Called()

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

	return r0
}

// State provides a mock function with given fields:
func (_m *Csbi) State() plugin.State {
	ret := _m.Called()

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

	return r0
}

// Update provides a mock function with given fields:
func (_m *Csbi) Update() error {
	ret := _m.Called()

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

	return r0
}

// Schema provides a mock function with given fields:
func (_m *Csbi) Schema() *ytypes.Schema {
	ret := _m.Called()

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

	return r0
}

// SchemaTreeGzip provides a mock function with given fields:
func (_m *Csbi) SchemaTreeGzip() []byte {
	ret := _m.Called()

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

	return r0
}

// SetID provides a mock function with given fields: id
func (_m *Csbi) SetID(id uuid.UUID) {
	_m.Called(id)
}

// SetNode provides a mock function with given fields: schema, root, path, val, opts
func (_m *Csbi) SetNode(schema *yang.Entry, root interface{}, path *gnmi.Path, val interface{}, opts ...ytypes.SetNodeOpt) error {
	_va := make([]interface{}, len(opts))
	for _i := range opts {
		_va[_i] = opts[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, schema, root, path, val)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func(*yang.Entry, interface{}, *gnmi.Path, interface{}, ...ytypes.SetNodeOpt) error); ok {
		r0 = rf(schema, root, path, val, opts...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

// Type provides a mock function with given fields:
func (_m *Csbi) Type() gosdnsouthbound.Type {
	ret := _m.Called()

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

	return r0
}

// Unmarshal provides a mock function with given fields: _a0, _a1, _a2, _a3
func (_m *Csbi) Unmarshal(_a0 []byte, _a1 *gnmi.Path, _a2 ygot.ValidatedGoStruct, _a3 ...ytypes.UnmarshalOpt) error {
	_va := make([]interface{}, len(_a3))
	for _i := range _a3 {
		_va[_i] = _a3[_i]
	}
	var _ca []interface{}
	_ca = append(_ca, _a0, _a1, _a2)
	_ca = append(_ca, _va...)
	ret := _m.Called(_ca...)

	var r0 error
	if rf, ok := ret.Get(0).(func([]byte, *gnmi.Path, ygot.ValidatedGoStruct, ...ytypes.UnmarshalOpt) error); ok {
		r0 = rf(_a0, _a1, _a2, _a3...)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}
