/*
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

  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: github.com/aws/aws-advanced-go-wrapper/awssql/driver_infrastructure (interfaces: HostListProvider)

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

import (
	driver "database/sql/driver"
	reflect "reflect"
	time "time"

	host_info_util "github.com/aws/aws-advanced-go-wrapper/awssql/host_info_util"
	gomock "github.com/golang/mock/gomock"
)

// MockHostListProvider is a mock of HostListProvider interface.
type MockHostListProvider struct {
	ctrl     *gomock.Controller
	recorder *MockHostListProviderMockRecorder
}

// MockHostListProviderMockRecorder is the mock recorder for MockHostListProvider.
type MockHostListProviderMockRecorder struct {
	mock *MockHostListProvider
}

// NewMockHostListProvider creates a new mock instance.
func NewMockHostListProvider(ctrl *gomock.Controller) *MockHostListProvider {
	mock := &MockHostListProvider{ctrl: ctrl}
	mock.recorder = &MockHostListProviderMockRecorder{mock}
	return mock
}

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

// CreateHost mocks base method.
func (m *MockHostListProvider) CreateHost(arg0 string, arg1 host_info_util.HostRole, arg2, arg3 float64, arg4 time.Time) *host_info_util.HostInfo {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateHost", arg0, arg1, arg2, arg3, arg4)
	ret0, _ := ret[0].(*host_info_util.HostInfo)
	return ret0
}

// CreateHost indicates an expected call of CreateHost.
func (mr *MockHostListProviderMockRecorder) CreateHost(arg0, arg1, arg2, arg3, arg4 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateHost", reflect.TypeOf((*MockHostListProvider)(nil).CreateHost), arg0, arg1, arg2, arg3, arg4)
}

// ForceRefresh mocks base method.
func (m *MockHostListProvider) ForceRefresh(arg0 driver.Conn) ([]*host_info_util.HostInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ForceRefresh", arg0)
	ret0, _ := ret[0].([]*host_info_util.HostInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ForceRefresh indicates an expected call of ForceRefresh.
func (mr *MockHostListProviderMockRecorder) ForceRefresh(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ForceRefresh", reflect.TypeOf((*MockHostListProvider)(nil).ForceRefresh), arg0)
}

// GetClusterId mocks base method.
func (m *MockHostListProvider) GetClusterId() (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetClusterId")
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetClusterId indicates an expected call of GetClusterId.
func (mr *MockHostListProviderMockRecorder) GetClusterId() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClusterId", reflect.TypeOf((*MockHostListProvider)(nil).GetClusterId))
}

// GetHostRole mocks base method.
func (m *MockHostListProvider) GetHostRole(arg0 driver.Conn) host_info_util.HostRole {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetHostRole", arg0)
	ret0, _ := ret[0].(host_info_util.HostRole)
	return ret0
}

// GetHostRole indicates an expected call of GetHostRole.
func (mr *MockHostListProviderMockRecorder) GetHostRole(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetHostRole", reflect.TypeOf((*MockHostListProvider)(nil).GetHostRole), arg0)
}

// IdentifyConnection mocks base method.
func (m *MockHostListProvider) IdentifyConnection(arg0 driver.Conn) (*host_info_util.HostInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IdentifyConnection", arg0)
	ret0, _ := ret[0].(*host_info_util.HostInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// IdentifyConnection indicates an expected call of IdentifyConnection.
func (mr *MockHostListProviderMockRecorder) IdentifyConnection(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IdentifyConnection", reflect.TypeOf((*MockHostListProvider)(nil).IdentifyConnection), arg0)
}

// IsStaticHostListProvider mocks base method.
func (m *MockHostListProvider) IsStaticHostListProvider() bool {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "IsStaticHostListProvider")
	ret0, _ := ret[0].(bool)
	return ret0
}

// IsStaticHostListProvider indicates an expected call of IsStaticHostListProvider.
func (mr *MockHostListProviderMockRecorder) IsStaticHostListProvider() *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "IsStaticHostListProvider", reflect.TypeOf((*MockHostListProvider)(nil).IsStaticHostListProvider))
}

// Refresh mocks base method.
func (m *MockHostListProvider) Refresh(arg0 driver.Conn) ([]*host_info_util.HostInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Refresh", arg0)
	ret0, _ := ret[0].([]*host_info_util.HostInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Refresh indicates an expected call of Refresh.
func (mr *MockHostListProviderMockRecorder) Refresh(arg0 interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Refresh", reflect.TypeOf((*MockHostListProvider)(nil).Refresh), arg0)
}
