// Code generated by MockGen. DO NOT EDIT.
// Source: internal/openfga/openfga_service.go

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

import (
	context "context"
	reflect "reflect"

	logr "github.com/go-logr/logr"
	gomock "github.com/golang/mock/gomock"
)

// MockPermissionServiceFactory is a mock of PermissionServiceFactory interface.
type MockPermissionServiceFactory struct {
	ctrl     *gomock.Controller
	recorder *MockPermissionServiceFactoryMockRecorder
}

// MockPermissionServiceFactoryMockRecorder is the mock recorder for MockPermissionServiceFactory.
type MockPermissionServiceFactoryMockRecorder struct {
	mock *MockPermissionServiceFactory
}

// NewMockPermissionServiceFactory creates a new mock instance.
func NewMockPermissionServiceFactory(ctrl *gomock.Controller) *MockPermissionServiceFactory {
	mock := &MockPermissionServiceFactory{ctrl: ctrl}
	mock.recorder = &MockPermissionServiceFactoryMockRecorder{mock}
	return mock
}

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

// GetService mocks base method.
func (m *MockPermissionServiceFactory) GetService(config Config) (PermissionService, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetService", config)
	ret0, _ := ret[0].(PermissionService)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetService indicates an expected call of GetService.
func (mr *MockPermissionServiceFactoryMockRecorder) GetService(config interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetService", reflect.TypeOf((*MockPermissionServiceFactory)(nil).GetService), config)
}

// MockPermissionService is a mock of PermissionService interface.
type MockPermissionService struct {
	ctrl     *gomock.Controller
	recorder *MockPermissionServiceMockRecorder
}

// MockPermissionServiceMockRecorder is the mock recorder for MockPermissionService.
type MockPermissionServiceMockRecorder struct {
	mock *MockPermissionService
}

// NewMockPermissionService creates a new mock instance.
func NewMockPermissionService(ctrl *gomock.Controller) *MockPermissionService {
	mock := &MockPermissionService{ctrl: ctrl}
	mock.recorder = &MockPermissionServiceMockRecorder{mock}
	return mock
}

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

// CheckAuthorizationModelExists mocks base method.
func (m *MockPermissionService) CheckAuthorizationModelExists(ctx context.Context, authorizationModelId string) (bool, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckAuthorizationModelExists", ctx, authorizationModelId)
	ret0, _ := ret[0].(bool)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckAuthorizationModelExists indicates an expected call of CheckAuthorizationModelExists.
func (mr *MockPermissionServiceMockRecorder) CheckAuthorizationModelExists(ctx, authorizationModelId interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckAuthorizationModelExists", reflect.TypeOf((*MockPermissionService)(nil).CheckAuthorizationModelExists), ctx, authorizationModelId)
}

// CheckExistingStoresById mocks base method.
func (m *MockPermissionService) CheckExistingStoresById(ctx context.Context, storeId string) (*Store, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckExistingStoresById", ctx, storeId)
	ret0, _ := ret[0].(*Store)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckExistingStoresById indicates an expected call of CheckExistingStoresById.
func (mr *MockPermissionServiceMockRecorder) CheckExistingStoresById(ctx, storeId interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckExistingStoresById", reflect.TypeOf((*MockPermissionService)(nil).CheckExistingStoresById), ctx, storeId)
}

// CheckExistingStoresByName mocks base method.
func (m *MockPermissionService) CheckExistingStoresByName(ctx context.Context, storeName string) (*Store, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CheckExistingStoresByName", ctx, storeName)
	ret0, _ := ret[0].(*Store)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CheckExistingStoresByName indicates an expected call of CheckExistingStoresByName.
func (mr *MockPermissionServiceMockRecorder) CheckExistingStoresByName(ctx, storeName interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CheckExistingStoresByName", reflect.TypeOf((*MockPermissionService)(nil).CheckExistingStoresByName), ctx, storeName)
}

// CreateAuthorizationModel mocks base method.
func (m *MockPermissionService) CreateAuthorizationModel(ctx context.Context, authorizationModel string, log *logr.Logger) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateAuthorizationModel", ctx, authorizationModel, log)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateAuthorizationModel indicates an expected call of CreateAuthorizationModel.
func (mr *MockPermissionServiceMockRecorder) CreateAuthorizationModel(ctx, authorizationModel, log interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateAuthorizationModel", reflect.TypeOf((*MockPermissionService)(nil).CreateAuthorizationModel), ctx, authorizationModel, log)
}

// CreateStore mocks base method.
func (m *MockPermissionService) CreateStore(ctx context.Context, storeName string, log *logr.Logger) (*Store, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateStore", ctx, storeName, log)
	ret0, _ := ret[0].(*Store)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateStore indicates an expected call of CreateStore.
func (mr *MockPermissionServiceMockRecorder) CreateStore(ctx, storeName, log interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateStore", reflect.TypeOf((*MockPermissionService)(nil).CreateStore), ctx, storeName, log)
}

// SetStoreId mocks base method.
func (m *MockPermissionService) SetStoreId(storeId string) {
	m.ctrl.T.Helper()
	m.ctrl.Call(m, "SetStoreId", storeId)
}

// SetStoreId indicates an expected call of SetStoreId.
func (mr *MockPermissionServiceMockRecorder) SetStoreId(storeId interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetStoreId", reflect.TypeOf((*MockPermissionService)(nil).SetStoreId), storeId)
}
