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

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

import (
	context "context"
	models "github.com/AleksK1NG/auth-microservice/internal/models"
	gomock "github.com/golang/mock/gomock"
	reflect "reflect"
)

// MockSessionUseCase is a mock of SessionUseCase interface
type MockSessionUseCase struct {
	ctrl     *gomock.Controller
	recorder *MockSessionUseCaseMockRecorder
}

// MockSessionUseCaseMockRecorder is the mock recorder for MockSessionUseCase
type MockSessionUseCaseMockRecorder struct {
	mock *MockSessionUseCase
}

// NewMockSessionUseCase creates a new mock instance
func NewMockSessionUseCase(ctrl *gomock.Controller) *MockSessionUseCase {
	mock := &MockSessionUseCase{ctrl: ctrl}
	mock.recorder = &MockSessionUseCaseMockRecorder{mock}
	return mock
}

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

// CreateSession mocks base method
func (m *MockSessionUseCase) CreateSession(ctx context.Context, session *models.Session, expire int) (string, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "CreateSession", ctx, session, expire)
	ret0, _ := ret[0].(string)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// CreateSession indicates an expected call of CreateSession
func (mr *MockSessionUseCaseMockRecorder) CreateSession(ctx, session, expire interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSession", reflect.TypeOf((*MockSessionUseCase)(nil).CreateSession), ctx, session, expire)
}

// GetSessionByID mocks base method
func (m *MockSessionUseCase) GetSessionByID(ctx context.Context, sessionID string) (*models.Session, error) {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "GetSessionByID", ctx, sessionID)
	ret0, _ := ret[0].(*models.Session)
	ret1, _ := ret[1].(error)
	return ret0, ret1
}

// GetSessionByID indicates an expected call of GetSessionByID
func (mr *MockSessionUseCaseMockRecorder) GetSessionByID(ctx, sessionID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSessionByID", reflect.TypeOf((*MockSessionUseCase)(nil).GetSessionByID), ctx, sessionID)
}

// DeleteByID mocks base method
func (m *MockSessionUseCase) DeleteByID(ctx context.Context, sessionID string) error {
	m.ctrl.T.Helper()
	ret := m.ctrl.Call(m, "DeleteByID", ctx, sessionID)
	ret0, _ := ret[0].(error)
	return ret0
}

// DeleteByID indicates an expected call of DeleteByID
func (mr *MockSessionUseCaseMockRecorder) DeleteByID(ctx, sessionID interface{}) *gomock.Call {
	mr.mock.ctrl.T.Helper()
	return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteByID", reflect.TypeOf((*MockSessionUseCase)(nil).DeleteByID), ctx, sessionID)
}
