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

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

package eks

import (
	"context"
	"github.com/banzaicloud/pipeline/internal/cluster"
	"github.com/stretchr/testify/mock"
)

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

// ProcessNewNodePool provides a mock function.
func (_m *MockNodePoolProcessor) ProcessNewNodePool(ctx context.Context, c cluster.Cluster, nodePool NewNodePool) (updatedNodePool NewNodePool, err error) {
	ret := _m.Called(ctx, c, nodePool)

	var r0 NewNodePool
	if rf, ok := ret.Get(0).(func(context.Context, cluster.Cluster, NewNodePool) NewNodePool); ok {
		r0 = rf(ctx, c, nodePool)
	} else {
		r0 = ret.Get(0).(NewNodePool)
	}

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

	return r0, r1
}

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

// CreateNodePool provides a mock function.
func (_m *MockNodePoolStore) CreateNodePool(ctx context.Context, organizationID uint, clusterID uint, clusterName string, createdBy uint, nodePool NewNodePool) (err error) {
	ret := _m.Called(ctx, organizationID, clusterID, clusterName, createdBy, nodePool)

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

	return r0
}

// DeleteNodePool provides a mock function.
func (_m *MockNodePoolStore) DeleteNodePool(ctx context.Context, organizationID uint, clusterID uint, clusterName string, nodePoolName string) (_result_0 error) {
	ret := _m.Called(ctx, organizationID, clusterID, clusterName, nodePoolName)

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

	return r0
}

// ListNodePools provides a mock function.
func (_m *MockNodePoolStore) ListNodePools(ctx context.Context, organizationID uint, clusterID uint, clusterName string) (existingNodePools map[string]ExistingNodePool, err error) {
	ret := _m.Called(ctx, organizationID, clusterID, clusterName)

	var r0 map[string]ExistingNodePool
	if rf, ok := ret.Get(0).(func(context.Context, uint, uint, string) map[string]ExistingNodePool); ok {
		r0 = rf(ctx, organizationID, clusterID, clusterName)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).(map[string]ExistingNodePool)
		}
	}

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

	return r0, r1
}

// UpdateNodePoolStackID provides a mock function.
func (_m *MockNodePoolStore) UpdateNodePoolStackID(ctx context.Context, organizationID uint, clusterID uint, clusterName string, nodePoolName string, nodePoolStackID string) (err error) {
	ret := _m.Called(ctx, organizationID, clusterID, clusterName, nodePoolName, nodePoolStackID)

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

	return r0
}

// UpdateNodePoolStatus provides a mock function.
func (_m *MockNodePoolStore) UpdateNodePoolStatus(ctx context.Context, organizationID uint, clusterID uint, clusterName string, nodePoolName string, nodePoolStatus NodePoolStatus, nodePoolStatusMessage string) (err error) {
	ret := _m.Called(ctx, organizationID, clusterID, clusterName, nodePoolName, nodePoolStatus, nodePoolStatusMessage)

	var r0 error
	if rf, ok := ret.Get(0).(func(context.Context, uint, uint, string, string, NodePoolStatus, string) error); ok {
		r0 = rf(ctx, organizationID, clusterID, clusterName, nodePoolName, nodePoolStatus, nodePoolStatusMessage)
	} else {
		r0 = ret.Error(0)
	}

	return r0
}

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

// ValidateNewNodePool provides a mock function.
func (_m *MockNodePoolValidator) ValidateNewNodePool(ctx context.Context, c cluster.Cluster, newNodePool NewNodePool) (err error) {
	ret := _m.Called(ctx, c, newNodePool)

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

	return r0
}

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

// CreateNodePools provides a mock function.
func (_m *MockService) CreateNodePools(ctx context.Context, clusterID uint, nodePools map[string]NewNodePool) (err error) {
	ret := _m.Called(ctx, clusterID, nodePools)

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

	return r0
}

// DeleteNodePool provides a mock function.
func (_m *MockService) DeleteNodePool(ctx context.Context, clusterID uint, nodePoolName string) (isDeleted bool, err error) {
	ret := _m.Called(ctx, clusterID, nodePoolName)

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

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

	return r0, r1
}

// ListNodePools provides a mock function.
func (_m *MockService) ListNodePools(ctx context.Context, clusterID uint) (_result_0 []NodePool, _result_1 error) {
	ret := _m.Called(ctx, clusterID)

	var r0 []NodePool
	if rf, ok := ret.Get(0).(func(context.Context, uint) []NodePool); ok {
		r0 = rf(ctx, clusterID)
	} else {
		if ret.Get(0) != nil {
			r0 = ret.Get(0).([]NodePool)
		}
	}

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

	return r0, r1
}

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

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

	return r0
}

// UpdateNodePool provides a mock function.
func (_m *MockService) UpdateNodePool(ctx context.Context, clusterID uint, nodePoolName string, nodePoolUpdate NodePoolUpdate) (_result_0 string, _result_1 error) {
	ret := _m.Called(ctx, clusterID, nodePoolName, nodePoolUpdate)

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

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

	return r0, r1
}
