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

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

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"
	gomock "github.com/golang/mock/gomock"
	jwt "github.com/lestrrat-go/jwx/v2/jwt"
)

// MockIDTokenIssuer is a mock of IDTokenIssuer interface.
type MockIDTokenIssuer struct {
	ctrl     *gomock.Controller
	recorder *MockIDTokenIssuerMockRecorder
}

// MockIDTokenIssuerMockRecorder is the mock recorder for MockIDTokenIssuer.
type MockIDTokenIssuerMockRecorder struct {
	mock *MockIDTokenIssuer
}

// NewMockIDTokenIssuer creates a new mock instance.
func NewMockIDTokenIssuer(ctrl *gomock.Controller) *MockIDTokenIssuer {
	mock := &MockIDTokenIssuer{ctrl: ctrl}
	mock.recorder = &MockIDTokenIssuerMockRecorder{mock}
	return mock
}

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

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

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

// PopulateUserClaimsInIDToken mocks base method.
func (m *MockIDTokenIssuer) PopulateUserClaimsInIDToken(ctx context.Context, token jwt.Token, userID string, clientLike *ClientLike) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "PopulateUserClaimsInIDToken", ctx, token, userID, clientLike)
	ret0, _ := ret[0].(error)
	return ret0
}

// PopulateUserClaimsInIDToken indicates an expected call of PopulateUserClaimsInIDToken.
func (mr *MockIDTokenIssuerMockRecorder) PopulateUserClaimsInIDToken(ctx, token, userID, clientLike interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PopulateUserClaimsInIDToken", reflect.TypeOf((*MockIDTokenIssuer)(nil).PopulateUserClaimsInIDToken), ctx, token, userID, clientLike)
}

// 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))
}

// MockEventService is a mock of EventService interface.
type MockEventService struct {
	ctrl     *gomock.Controller
	recorder *MockEventServiceMockRecorder
}

// MockEventServiceMockRecorder is the mock recorder for MockEventService.
type MockEventServiceMockRecorder struct {
	mock *MockEventService
}

// NewMockEventService creates a new mock instance.
func NewMockEventService(ctrl *gomock.Controller) *MockEventService {
	mock := &MockEventService{ctrl: ctrl}
	mock.recorder = &MockEventServiceMockRecorder{mock}
	return mock
}

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

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

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

// DispatchEventWithoutTx mocks base method.
func (m *MockEventService) 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 *MockEventServiceMockRecorder) DispatchEventWithoutTx(ctx, e interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DispatchEventWithoutTx", reflect.TypeOf((*MockEventService)(nil).DispatchEventWithoutTx), ctx, e)
}

// PrepareBlockingEventWithTx mocks base method.
func (m *MockEventService) 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 *MockEventServiceMockRecorder) PrepareBlockingEventWithTx(ctx, payload interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PrepareBlockingEventWithTx", reflect.TypeOf((*MockEventService)(nil).PrepareBlockingEventWithTx), ctx, payload)
}

// MockAccessTokenEncodingIdentityService is a mock of AccessTokenEncodingIdentityService interface.
type MockAccessTokenEncodingIdentityService struct {
	ctrl     *gomock.Controller
	recorder *MockAccessTokenEncodingIdentityServiceMockRecorder
}

// MockAccessTokenEncodingIdentityServiceMockRecorder is the mock recorder for MockAccessTokenEncodingIdentityService.
type MockAccessTokenEncodingIdentityServiceMockRecorder struct {
	mock *MockAccessTokenEncodingIdentityService
}

// NewMockAccessTokenEncodingIdentityService creates a new mock instance.
func NewMockAccessTokenEncodingIdentityService(ctrl *gomock.Controller) *MockAccessTokenEncodingIdentityService {
	mock := &MockAccessTokenEncodingIdentityService{ctrl: ctrl}
	mock.recorder = &MockAccessTokenEncodingIdentityServiceMockRecorder{mock}
	return mock
}

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

// ListIdentitiesThatHaveStandardAttributes mocks base method.
func (m *MockAccessTokenEncodingIdentityService) 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 *MockAccessTokenEncodingIdentityServiceMockRecorder) ListIdentitiesThatHaveStandardAttributes(ctx, userID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListIdentitiesThatHaveStandardAttributes", reflect.TypeOf((*MockAccessTokenEncodingIdentityService)(nil).ListIdentitiesThatHaveStandardAttributes), ctx, userID)
}

// MockPrepareUserAccessTokenResult is a mock of PrepareUserAccessTokenResult interface.
type MockPrepareUserAccessTokenResult struct {
	ctrl     *gomock.Controller
	recorder *MockPrepareUserAccessTokenResultMockRecorder
}

// MockPrepareUserAccessTokenResultMockRecorder is the mock recorder for MockPrepareUserAccessTokenResult.
type MockPrepareUserAccessTokenResultMockRecorder struct {
	mock *MockPrepareUserAccessTokenResult
}

// NewMockPrepareUserAccessTokenResult creates a new mock instance.
func NewMockPrepareUserAccessTokenResult(ctrl *gomock.Controller) *MockPrepareUserAccessTokenResult {
	mock := &MockPrepareUserAccessTokenResult{ctrl: ctrl}
	mock.recorder = &MockPrepareUserAccessTokenResultMockRecorder{mock}
	return mock
}

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

// prepareUserAccessTokenResult mocks base method.
func (m *MockPrepareUserAccessTokenResult) prepareUserAccessTokenResult() {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "prepareUserAccessTokenResult")
}

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