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

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

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

	oauth "github.com/authgear/authgear-server/pkg/lib/oauth"
	idpsession "github.com/authgear/authgear-server/pkg/lib/session/idpsession"
	gomock "github.com/golang/mock/gomock"
)

// MockSAMLEndpoints is a mock of SAMLEndpoints interface.
type MockSAMLEndpoints struct {
	ctrl     *gomock.Controller
	recorder *MockSAMLEndpointsMockRecorder
}

// MockSAMLEndpointsMockRecorder is the mock recorder for MockSAMLEndpoints.
type MockSAMLEndpointsMockRecorder struct {
	mock *MockSAMLEndpoints
}

// NewMockSAMLEndpoints creates a new mock instance.
func NewMockSAMLEndpoints(ctrl *gomock.Controller) *MockSAMLEndpoints {
	mock := &MockSAMLEndpoints{ctrl: ctrl}
	mock.recorder = &MockSAMLEndpointsMockRecorder{mock}
	return mock
}

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

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

// SAMLLoginURL indicates an expected call of SAMLLoginURL.
func (mr *MockSAMLEndpointsMockRecorder) SAMLLoginURL(serviceProviderId interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SAMLLoginURL", reflect.TypeOf((*MockSAMLEndpoints)(nil).SAMLLoginURL), serviceProviderId)
}

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

// SAMLLogoutURL indicates an expected call of SAMLLogoutURL.
func (mr *MockSAMLEndpointsMockRecorder) SAMLLogoutURL(serviceProviderId interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SAMLLogoutURL", reflect.TypeOf((*MockSAMLEndpoints)(nil).SAMLLogoutURL), serviceProviderId)
}

// MockSAMLUserInfoProvider is a mock of SAMLUserInfoProvider interface.
type MockSAMLUserInfoProvider struct {
	ctrl     *gomock.Controller
	recorder *MockSAMLUserInfoProviderMockRecorder
}

// MockSAMLUserInfoProviderMockRecorder is the mock recorder for MockSAMLUserInfoProvider.
type MockSAMLUserInfoProviderMockRecorder struct {
	mock *MockSAMLUserInfoProvider
}

// NewMockSAMLUserInfoProvider creates a new mock instance.
func NewMockSAMLUserInfoProvider(ctrl *gomock.Controller) *MockSAMLUserInfoProvider {
	mock := &MockSAMLUserInfoProvider{ctrl: ctrl}
	mock.recorder = &MockSAMLUserInfoProviderMockRecorder{mock}
	return mock
}

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

// GetUserInfo mocks base method.
func (m *MockSAMLUserInfoProvider) GetUserInfo(ctx context.Context, userID string, clientLike *oauth.ClientLike) (map[string]interface{}, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetUserInfo", ctx, userID, clientLike)
	ret0, _ := ret[0].(map[string]interface{})
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

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

// MockIDPSessionProvider is a mock of IDPSessionProvider interface.
type MockIDPSessionProvider struct {
	ctrl     *gomock.Controller
	recorder *MockIDPSessionProviderMockRecorder
}

// MockIDPSessionProviderMockRecorder is the mock recorder for MockIDPSessionProvider.
type MockIDPSessionProviderMockRecorder struct {
	mock *MockIDPSessionProvider
}

// NewMockIDPSessionProvider creates a new mock instance.
func NewMockIDPSessionProvider(ctrl *gomock.Controller) *MockIDPSessionProvider {
	mock := &MockIDPSessionProvider{ctrl: ctrl}
	mock.recorder = &MockIDPSessionProviderMockRecorder{mock}
	return mock
}

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

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

// AddSAMLServiceProviderParticipant indicates an expected call of AddSAMLServiceProviderParticipant.
func (mr *MockIDPSessionProviderMockRecorder) AddSAMLServiceProviderParticipant(ctx, session, serviceProviderID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddSAMLServiceProviderParticipant", reflect.TypeOf((*MockIDPSessionProvider)(nil).AddSAMLServiceProviderParticipant), ctx, session, serviceProviderID)
}

// MockOfflineGrantService is a mock of OfflineGrantService interface.
type MockOfflineGrantService struct {
	ctrl     *gomock.Controller
	recorder *MockOfflineGrantServiceMockRecorder
}

// MockOfflineGrantServiceMockRecorder is the mock recorder for MockOfflineGrantService.
type MockOfflineGrantServiceMockRecorder struct {
	mock *MockOfflineGrantService
}

// NewMockOfflineGrantService creates a new mock instance.
func NewMockOfflineGrantService(ctrl *gomock.Controller) *MockOfflineGrantService {
	mock := &MockOfflineGrantService{ctrl: ctrl}
	mock.recorder = &MockOfflineGrantServiceMockRecorder{mock}
	return mock
}

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

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

// AddSAMLServiceProviderParticipant indicates an expected call of AddSAMLServiceProviderParticipant.
func (mr *MockOfflineGrantServiceMockRecorder) AddSAMLServiceProviderParticipant(ctx, grant, serviceProviderID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddSAMLServiceProviderParticipant", reflect.TypeOf((*MockOfflineGrantService)(nil).AddSAMLServiceProviderParticipant), ctx, grant, serviceProviderID)
}

// MockTemplateEngine is a mock of TemplateEngine interface.
type MockTemplateEngine struct {
	ctrl     *gomock.Controller
	recorder *MockTemplateEngineMockRecorder
}

// MockTemplateEngineMockRecorder is the mock recorder for MockTemplateEngine.
type MockTemplateEngineMockRecorder struct {
	mock *MockTemplateEngine
}

// NewMockTemplateEngine creates a new mock instance.
func NewMockTemplateEngine(ctrl *gomock.Controller) *MockTemplateEngine {
	mock := &MockTemplateEngine{ctrl: ctrl}
	mock.recorder = &MockTemplateEngineMockRecorder{mock}
	return mock
}

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

// RenderPublicText mocks base method.
func (m *MockTemplateEngine) RenderPublicText(ctx context.Context, tpl string, data interface{}) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "RenderPublicText", ctx, tpl, data)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// RenderPublicText indicates an expected call of RenderPublicText.
func (mr *MockTemplateEngineMockRecorder) RenderPublicText(ctx, tpl, data interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RenderPublicText", reflect.TypeOf((*MockTemplateEngine)(nil).RenderPublicText), ctx, tpl, data)
}
