//go:build !ignore_autogenerated
// +build !ignore_autogenerated

// Code generated by mga tool. DO NOT EDIT.

package cluster

import (
	"context"
	"github.com/stretchr/testify/mock"
)

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

// GetLabels provides a mock function.
func (_m *MockNodePoolLabelSource) GetLabels(ctx context.Context, cluster Cluster, nodePool NodePool) (_result_0 map[string]string, _result_1 error) {
	ret := _m.Called(ctx, cluster, nodePool)

	var r0 map[string]string
	if rf, ok := ret.Get(0).(func(context.Context, Cluster, NodePool) map[string]string); ok {
		r0 = rf(ctx, cluster, nodePool)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(map[string]string)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, Cluster, NodePool) error); ok {
		r1 = rf(ctx, cluster, nodePool)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}

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

// ValidateKey provides a mock function.
func (_m *MockLabelValidator) ValidateKey(key string) (_result_0 error) {
	ret := _m.Called(key)

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

	return r0
}

// ValidateValue provides a mock function.
func (_m *MockLabelValidator) ValidateValue(value string) (_result_0 error) {
	ret := _m.Called(value)

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

	return r0
}

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

// ValidateClusterRemoval provides a mock function.
func (_m *MockClusterGroupManager) ValidateClusterRemoval(ctx context.Context, clusterID uint) (_result_0 error) {
	ret := _m.Called(ctx, clusterID)

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

	return r0
}

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

// DeleteCluster provides a mock function.
func (_m *MockManager) DeleteCluster(ctx context.Context, clusterID uint, options DeleteClusterOptions) (_result_0 error) {
	ret := _m.Called(ctx, clusterID, options)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, uint, DeleteClusterOptions) error); ok {
		r0 = rf(ctx, clusterID, options)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// NodePoolExists provides a mock function.
func (_m *MockNodePoolStore) NodePoolExists(ctx context.Context, clusterID uint, name string) (isExisting bool, storedName string, err error) {
	ret := _m.Called(ctx, clusterID, name)

	var r0 bool
	if rf, ok := ret.Get(0).(func(context.Context, uint, string) bool); ok {
		r0 = rf(ctx, clusterID, name)
	} else {
		r0 = ret.Get(0).(bool)
	}

	var r1 string
	if rf, ok := ret.Get(1).(func(context.Context, uint, string) string); ok {
		r1 = rf(ctx, clusterID, name)
	} else {
		r1 = ret.Get(1).(string)
	}

	var r2 error
	if rf, ok := ret.Get(2).(func(context.Context, uint, string) error); ok {
		r2 = rf(ctx, clusterID, name)
	} else {
		r2 = ret.Error(2)
	}

	return r0, r1, r2
}

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

// ValidateNew provides a mock function.
func (_m *MockNodePoolValidator) ValidateNew(ctx context.Context, cluster Cluster, rawNodePool NewRawNodePool) (_result_0 error) {
	ret := _m.Called(ctx, cluster, rawNodePool)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, Cluster, NewRawNodePool) error); ok {
		r0 = rf(ctx, cluster, rawNodePool)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ProcessNew provides a mock function.
func (_m *MockNodePoolProcessor) ProcessNew(ctx context.Context, cluster Cluster, rawNodePool NewRawNodePool) (_result_0 NewRawNodePool, _result_1 error) {
	ret := _m.Called(ctx, cluster, rawNodePool)

	var r0 NewRawNodePool
	if rf, ok := ret.Get(0).(func(context.Context, Cluster, NewRawNodePool) NewRawNodePool); ok {
		r0 = rf(ctx, cluster, rawNodePool)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(NewRawNodePool)
		}
	}

	var r1 error
	if rf, ok := ret.Get(1).(func(context.Context, Cluster, NewRawNodePool) error); ok {
		r1 = rf(ctx, cluster, rawNodePool)
	} else {
		r1 = ret.Error(1)
	}

	return r0, r1
}
