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

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

import (
	context "context"
	url "net/url"
	reflect "reflect"

	event "github.com/authgear/authgear-server/pkg/api/event"
	identity "github.com/authgear/authgear-server/pkg/lib/authn/identity"
	oauth "github.com/authgear/authgear-server/pkg/lib/oauth"
	idpsession "github.com/authgear/authgear-server/pkg/lib/session/idpsession"
	userinfo "github.com/authgear/authgear-server/pkg/lib/userinfo"
	gomock "github.com/golang/mock/gomock"
	jwt "github.com/lestrrat-go/jwx/v2/jwt"
)

// MockUserInfoService is a mock of UserInfoService interface.
type MockUserInfoService struct {
	ctrl     *gomock.Controller
	recorder *MockUserInfoServiceMockRecorder
}

// MockUserInfoServiceMockRecorder is the mock recorder for MockUserInfoService.
type MockUserInfoServiceMockRecorder struct {
	mock *MockUserInfoService
}

// NewMockUserInfoService creates a new mock instance.
func NewMockUserInfoService(ctrl *gomock.Controller) *MockUserInfoService {
	mock := &MockUserInfoService{ctrl: ctrl}
	mock.recorder = &MockUserInfoServiceMockRecorder{mock}
	return mock
}

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

// GetUserInfoBearer mocks base method.
func (m *MockUserInfoService) GetUserInfoBearer(ctx context.Context, userID string) (*userinfo.UserInfo, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUserInfoBearer", ctx, userID)
	ret0, _ := ret[0].(*userinfo.UserInfo)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetUserInfoBearer indicates an expected call of GetUserInfoBearer.
func (mr *MockUserInfoServiceMockRecorder) GetUserInfoBearer(ctx, userID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetUserInfoBearer", reflect.TypeOf((*MockUserInfoService)(nil).GetUserInfoBearer), ctx, userID)
}

// MockBaseURLProvider is a mock of BaseURLProvider interface.
type MockBaseURLProvider struct {
	ctrl     *gomock.Controller
	recorder *MockBaseURLProviderMockRecorder
}

// MockBaseURLProviderMockRecorder is the mock recorder for MockBaseURLProvider.
type MockBaseURLProviderMockRecorder struct {
	mock *MockBaseURLProvider
}

// NewMockBaseURLProvider creates a new mock instance.
func NewMockBaseURLProvider(ctrl *gomock.Controller) *MockBaseURLProvider {
	mock := &MockBaseURLProvider{ctrl: ctrl}
	mock.recorder = &MockBaseURLProviderMockRecorder{mock}
	return mock
}

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

// Origin mocks base method.
func (m *MockBaseURLProvider) Origin() *url.URL {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Origin")
	ret0, _ := ret[0].(*url.URL)
	return ret0
}

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

// MockIDTokenIssuerIdentityService is a mock of IDTokenIssuerIdentityService interface.
type MockIDTokenIssuerIdentityService struct {
	ctrl     *gomock.Controller
	recorder *MockIDTokenIssuerIdentityServiceMockRecorder
}

// MockIDTokenIssuerIdentityServiceMockRecorder is the mock recorder for MockIDTokenIssuerIdentityService.
type MockIDTokenIssuerIdentityServiceMockRecorder struct {
	mock *MockIDTokenIssuerIdentityService
}

// NewMockIDTokenIssuerIdentityService creates a new mock instance.
func NewMockIDTokenIssuerIdentityService(ctrl *gomock.Controller) *MockIDTokenIssuerIdentityService {
	mock := &MockIDTokenIssuerIdentityService{ctrl: ctrl}
	mock.recorder = &MockIDTokenIssuerIdentityServiceMockRecorder{mock}
	return mock
}

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

// ListIdentitiesThatHaveStandardAttributes mocks base method.
func (m *MockIDTokenIssuerIdentityService) ListIdentitiesThatHaveStandardAttributes(ctx context.Context, userID string) ([]*identity.Info, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "ListIdentitiesThatHaveStandardAttributes", ctx, userID)
	ret0, _ := ret[0].([]*identity.Info)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// ListIdentitiesThatHaveStandardAttributes indicates an expected call of ListIdentitiesThatHaveStandardAttributes.
func (mr *MockIDTokenIssuerIdentityServiceMockRecorder) ListIdentitiesThatHaveStandardAttributes(ctx, userID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIdentitiesThatHaveStandardAttributes", reflect.TypeOf((*MockIDTokenIssuerIdentityService)(nil).ListIdentitiesThatHaveStandardAttributes), ctx, userID)
}

// MockIDTokenIssuerEventService is a mock of IDTokenIssuerEventService interface.
type MockIDTokenIssuerEventService struct {
	ctrl     *gomock.Controller
	recorder *MockIDTokenIssuerEventServiceMockRecorder
}

// MockIDTokenIssuerEventServiceMockRecorder is the mock recorder for MockIDTokenIssuerEventService.
type MockIDTokenIssuerEventServiceMockRecorder struct {
	mock *MockIDTokenIssuerEventService
}

// NewMockIDTokenIssuerEventService creates a new mock instance.
func NewMockIDTokenIssuerEventService(ctrl *gomock.Controller) *MockIDTokenIssuerEventService {
	mock := &MockIDTokenIssuerEventService{ctrl: ctrl}
	mock.recorder = &MockIDTokenIssuerEventServiceMockRecorder{mock}
	return mock
}

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

// DispatchEventWithoutTx mocks base method.
func (m *MockIDTokenIssuerEventService) DispatchEventWithoutTx(ctx context.Context, e *event.Event) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DispatchEventWithoutTx", ctx, e)
	ret0, _ := ret[0].(error)
	return ret0
}

// DispatchEventWithoutTx indicates an expected call of DispatchEventWithoutTx.
func (mr *MockIDTokenIssuerEventServiceMockRecorder) DispatchEventWithoutTx(ctx, e interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DispatchEventWithoutTx", reflect.TypeOf((*MockIDTokenIssuerEventService)(nil).DispatchEventWithoutTx), ctx, e)
}

// PrepareBlockingEventWithTx mocks base method.
func (m *MockIDTokenIssuerEventService) PrepareBlockingEventWithTx(ctx context.Context, payload event.BlockingPayload) (*event.Event, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PrepareBlockingEventWithTx", ctx, payload)
	ret0, _ := ret[0].(*event.Event)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// PrepareBlockingEventWithTx indicates an expected call of PrepareBlockingEventWithTx.
func (mr *MockIDTokenIssuerEventServiceMockRecorder) PrepareBlockingEventWithTx(ctx, payload interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PrepareBlockingEventWithTx", reflect.TypeOf((*MockIDTokenIssuerEventService)(nil).PrepareBlockingEventWithTx), ctx, payload)
}

// MockIDTokenHintResolverIssuer is a mock of IDTokenHintResolverIssuer interface.
type MockIDTokenHintResolverIssuer struct {
	ctrl     *gomock.Controller
	recorder *MockIDTokenHintResolverIssuerMockRecorder
}

// MockIDTokenHintResolverIssuerMockRecorder is the mock recorder for MockIDTokenHintResolverIssuer.
type MockIDTokenHintResolverIssuerMockRecorder struct {
	mock *MockIDTokenHintResolverIssuer
}

// NewMockIDTokenHintResolverIssuer creates a new mock instance.
func NewMockIDTokenHintResolverIssuer(ctrl *gomock.Controller) *MockIDTokenHintResolverIssuer {
	mock := &MockIDTokenHintResolverIssuer{ctrl: ctrl}
	mock.recorder = &MockIDTokenHintResolverIssuerMockRecorder{mock}
	return mock
}

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

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

// VerifyIDToken indicates an expected call of VerifyIDToken.
func (mr *MockIDTokenHintResolverIssuerMockRecorder) VerifyIDToken(idTokenHint interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "VerifyIDToken", reflect.TypeOf((*MockIDTokenHintResolverIssuer)(nil).VerifyIDToken), idTokenHint)
}

// MockIDTokenHintResolverSessionProvider is a mock of IDTokenHintResolverSessionProvider interface.
type MockIDTokenHintResolverSessionProvider struct {
	ctrl     *gomock.Controller
	recorder *MockIDTokenHintResolverSessionProviderMockRecorder
}

// MockIDTokenHintResolverSessionProviderMockRecorder is the mock recorder for MockIDTokenHintResolverSessionProvider.
type MockIDTokenHintResolverSessionProviderMockRecorder struct {
	mock *MockIDTokenHintResolverSessionProvider
}

// NewMockIDTokenHintResolverSessionProvider creates a new mock instance.
func NewMockIDTokenHintResolverSessionProvider(ctrl *gomock.Controller) *MockIDTokenHintResolverSessionProvider {
	mock := &MockIDTokenHintResolverSessionProvider{ctrl: ctrl}
	mock.recorder = &MockIDTokenHintResolverSessionProviderMockRecorder{mock}
	return mock
}

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

// Get mocks base method.
func (m *MockIDTokenHintResolverSessionProvider) Get(ctx context.Context, id string) (*idpsession.IDPSession, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "Get", ctx, id)
	ret0, _ := ret[0].(*idpsession.IDPSession)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// Get indicates an expected call of Get.
func (mr *MockIDTokenHintResolverSessionProviderMockRecorder) Get(ctx, id interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Get", reflect.TypeOf((*MockIDTokenHintResolverSessionProvider)(nil).Get), ctx, id)
}

// MockIDTokenHintResolverOfflineGrantService is a mock of IDTokenHintResolverOfflineGrantService interface.
type MockIDTokenHintResolverOfflineGrantService struct {
	ctrl     *gomock.Controller
	recorder *MockIDTokenHintResolverOfflineGrantServiceMockRecorder
}

// MockIDTokenHintResolverOfflineGrantServiceMockRecorder is the mock recorder for MockIDTokenHintResolverOfflineGrantService.
type MockIDTokenHintResolverOfflineGrantServiceMockRecorder struct {
	mock *MockIDTokenHintResolverOfflineGrantService
}

// NewMockIDTokenHintResolverOfflineGrantService creates a new mock instance.
func NewMockIDTokenHintResolverOfflineGrantService(ctrl *gomock.Controller) *MockIDTokenHintResolverOfflineGrantService {
	mock := &MockIDTokenHintResolverOfflineGrantService{ctrl: ctrl}
	mock.recorder = &MockIDTokenHintResolverOfflineGrantServiceMockRecorder{mock}
	return mock
}

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

// GetOfflineGrant mocks base method.
func (m *MockIDTokenHintResolverOfflineGrantService) GetOfflineGrant(ctx context.Context, id string) (*oauth.OfflineGrant, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetOfflineGrant", ctx, id)
	ret0, _ := ret[0].(*oauth.OfflineGrant)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetOfflineGrant indicates an expected call of GetOfflineGrant.
func (mr *MockIDTokenHintResolverOfflineGrantServiceMockRecorder) GetOfflineGrant(ctx, id interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetOfflineGrant", reflect.TypeOf((*MockIDTokenHintResolverOfflineGrantService)(nil).GetOfflineGrant), ctx, id)
}
