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

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

import (
	context "context"
	reflect "reflect"

	credentialprovider "github.com/awslabs/mountpoint-s3-csi-driver/pkg/driver/node/credentialprovider"
	envprovider "github.com/awslabs/mountpoint-s3-csi-driver/pkg/driver/node/envprovider"
	gomock "github.com/golang/mock/gomock"
)

// MockProviderInterface is a mock of ProviderInterface interface.
type MockProviderInterface struct {
	ctrl     *gomock.Controller
	recorder *MockProviderInterfaceMockRecorder
}

// MockProviderInterfaceMockRecorder is the mock recorder for MockProviderInterface.
type MockProviderInterfaceMockRecorder struct {
	mock *MockProviderInterface
}

// NewMockProviderInterface creates a new mock instance.
func NewMockProviderInterface(ctrl *gomock.Controller) *MockProviderInterface {
	mock := &MockProviderInterface{ctrl: ctrl}
	mock.recorder = &MockProviderInterfaceMockRecorder{mock}
	return mock
}

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

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

// Cleanup indicates an expected call of Cleanup.
func (mr *MockProviderInterfaceMockRecorder) Cleanup(cleanupCtx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Cleanup", reflect.TypeOf((*MockProviderInterface)(nil).Cleanup), cleanupCtx)
}

// Provide mocks base method.
func (m *MockProviderInterface) Provide(ctx context.Context, provideCtx credentialprovider.ProvideContext) (envprovider.Environment, credentialprovider.AuthenticationSource, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Provide", ctx, provideCtx)
	ret0, _ := ret[0].(envprovider.Environment)
	ret1, _ := ret[1].(credentialprovider.AuthenticationSource)
	ret2, _ := ret[2].(error)
	return ret0, ret1, ret2
}

// Provide indicates an expected call of Provide.
func (mr *MockProviderInterfaceMockRecorder) Provide(ctx, provideCtx interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Provide", reflect.TypeOf((*MockProviderInterface)(nil).Provide), ctx, provideCtx)
}
