rwadurian/backend/mpc-system/tests/mocks/mock_repositories.go

285 lines
9.3 KiB
Go

package mocks
import (
"context"
"github.com/stretchr/testify/mock"
accountEntities "github.com/rwadurian/mpc-system/services/account/domain/entities"
accountVO "github.com/rwadurian/mpc-system/services/account/domain/value_objects"
sessionEntities "github.com/rwadurian/mpc-system/services/session-coordinator/domain/entities"
sessionVO "github.com/rwadurian/mpc-system/services/session-coordinator/domain/value_objects"
)
// MockSessionRepository is a mock implementation of SessionRepository
type MockSessionRepository struct {
mock.Mock
}
func (m *MockSessionRepository) Create(ctx context.Context, session *sessionEntities.MPCSession) error {
args := m.Called(ctx, session)
return args.Error(0)
}
func (m *MockSessionRepository) GetByID(ctx context.Context, id sessionVO.SessionID) (*sessionEntities.MPCSession, error) {
args := m.Called(ctx, id)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*sessionEntities.MPCSession), args.Error(1)
}
func (m *MockSessionRepository) Update(ctx context.Context, session *sessionEntities.MPCSession) error {
args := m.Called(ctx, session)
return args.Error(0)
}
func (m *MockSessionRepository) Delete(ctx context.Context, id sessionVO.SessionID) error {
args := m.Called(ctx, id)
return args.Error(0)
}
func (m *MockSessionRepository) ListActive(ctx context.Context, limit, offset int) ([]*sessionEntities.MPCSession, error) {
args := m.Called(ctx, limit, offset)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).([]*sessionEntities.MPCSession), args.Error(1)
}
func (m *MockSessionRepository) GetExpired(ctx context.Context, limit int) ([]*sessionEntities.MPCSession, error) {
args := m.Called(ctx, limit)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).([]*sessionEntities.MPCSession), args.Error(1)
}
func (m *MockSessionRepository) AddParticipant(ctx context.Context, participant *sessionEntities.Participant) error {
args := m.Called(ctx, participant)
return args.Error(0)
}
func (m *MockSessionRepository) UpdateParticipant(ctx context.Context, participant *sessionEntities.Participant) error {
args := m.Called(ctx, participant)
return args.Error(0)
}
func (m *MockSessionRepository) GetParticipant(ctx context.Context, sessionID sessionVO.SessionID, partyID sessionVO.PartyID) (*sessionEntities.Participant, error) {
args := m.Called(ctx, sessionID, partyID)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*sessionEntities.Participant), args.Error(1)
}
// MockAccountRepository is a mock implementation of AccountRepository
type MockAccountRepository struct {
mock.Mock
}
func (m *MockAccountRepository) Create(ctx context.Context, account *accountEntities.Account) error {
args := m.Called(ctx, account)
return args.Error(0)
}
func (m *MockAccountRepository) GetByID(ctx context.Context, id accountVO.AccountID) (*accountEntities.Account, error) {
args := m.Called(ctx, id)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*accountEntities.Account), args.Error(1)
}
func (m *MockAccountRepository) GetByUsername(ctx context.Context, username string) (*accountEntities.Account, error) {
args := m.Called(ctx, username)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*accountEntities.Account), args.Error(1)
}
func (m *MockAccountRepository) GetByEmail(ctx context.Context, email string) (*accountEntities.Account, error) {
args := m.Called(ctx, email)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*accountEntities.Account), args.Error(1)
}
func (m *MockAccountRepository) GetByPublicKey(ctx context.Context, publicKey []byte) (*accountEntities.Account, error) {
args := m.Called(ctx, publicKey)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*accountEntities.Account), args.Error(1)
}
func (m *MockAccountRepository) Update(ctx context.Context, account *accountEntities.Account) error {
args := m.Called(ctx, account)
return args.Error(0)
}
func (m *MockAccountRepository) Delete(ctx context.Context, id accountVO.AccountID) error {
args := m.Called(ctx, id)
return args.Error(0)
}
func (m *MockAccountRepository) ExistsByUsername(ctx context.Context, username string) (bool, error) {
args := m.Called(ctx, username)
return args.Bool(0), args.Error(1)
}
func (m *MockAccountRepository) ExistsByEmail(ctx context.Context, email string) (bool, error) {
args := m.Called(ctx, email)
return args.Bool(0), args.Error(1)
}
func (m *MockAccountRepository) List(ctx context.Context, offset, limit int) ([]*accountEntities.Account, error) {
args := m.Called(ctx, offset, limit)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).([]*accountEntities.Account), args.Error(1)
}
func (m *MockAccountRepository) Count(ctx context.Context) (int64, error) {
args := m.Called(ctx)
return args.Get(0).(int64), args.Error(1)
}
// MockAccountShareRepository is a mock implementation of AccountShareRepository
type MockAccountShareRepository struct {
mock.Mock
}
func (m *MockAccountShareRepository) Create(ctx context.Context, share *accountEntities.AccountShare) error {
args := m.Called(ctx, share)
return args.Error(0)
}
func (m *MockAccountShareRepository) GetByID(ctx context.Context, id string) (*accountEntities.AccountShare, error) {
args := m.Called(ctx, id)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(*accountEntities.AccountShare), args.Error(1)
}
func (m *MockAccountShareRepository) GetByAccountID(ctx context.Context, accountID accountVO.AccountID) ([]*accountEntities.AccountShare, error) {
args := m.Called(ctx, accountID)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).([]*accountEntities.AccountShare), args.Error(1)
}
func (m *MockAccountShareRepository) GetActiveByAccountID(ctx context.Context, accountID accountVO.AccountID) ([]*accountEntities.AccountShare, error) {
args := m.Called(ctx, accountID)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).([]*accountEntities.AccountShare), args.Error(1)
}
func (m *MockAccountShareRepository) GetByPartyID(ctx context.Context, partyID string) ([]*accountEntities.AccountShare, error) {
args := m.Called(ctx, partyID)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).([]*accountEntities.AccountShare), args.Error(1)
}
func (m *MockAccountShareRepository) Update(ctx context.Context, share *accountEntities.AccountShare) error {
args := m.Called(ctx, share)
return args.Error(0)
}
func (m *MockAccountShareRepository) Delete(ctx context.Context, id string) error {
args := m.Called(ctx, id)
return args.Error(0)
}
func (m *MockAccountShareRepository) DeactivateByAccountID(ctx context.Context, accountID accountVO.AccountID) error {
args := m.Called(ctx, accountID)
return args.Error(0)
}
func (m *MockAccountShareRepository) DeactivateByShareType(ctx context.Context, accountID accountVO.AccountID, shareType accountVO.ShareType) error {
args := m.Called(ctx, accountID, shareType)
return args.Error(0)
}
// MockEventPublisher is a mock implementation for event publishing
type MockEventPublisher struct {
mock.Mock
}
func (m *MockEventPublisher) Publish(ctx context.Context, event interface{}) error {
args := m.Called(ctx, event)
return args.Error(0)
}
func (m *MockEventPublisher) Close() error {
args := m.Called()
return args.Error(0)
}
// MockTokenService is a mock implementation of TokenService
type MockTokenService struct {
mock.Mock
}
func (m *MockTokenService) GenerateAccessToken(accountID, username string) (string, error) {
args := m.Called(accountID, username)
return args.String(0), args.Error(1)
}
func (m *MockTokenService) GenerateRefreshToken(accountID string) (string, error) {
args := m.Called(accountID)
return args.String(0), args.Error(1)
}
func (m *MockTokenService) ValidateAccessToken(token string) (map[string]interface{}, error) {
args := m.Called(token)
if args.Get(0) == nil {
return nil, args.Error(1)
}
return args.Get(0).(map[string]interface{}), args.Error(1)
}
func (m *MockTokenService) ValidateRefreshToken(token string) (string, error) {
args := m.Called(token)
return args.String(0), args.Error(1)
}
func (m *MockTokenService) RefreshAccessToken(refreshToken string) (string, error) {
args := m.Called(refreshToken)
return args.String(0), args.Error(1)
}
// MockCacheService is a mock implementation of CacheService
type MockCacheService struct {
mock.Mock
}
func (m *MockCacheService) Set(ctx context.Context, key string, value interface{}, ttlSeconds int) error {
args := m.Called(ctx, key, value, ttlSeconds)
return args.Error(0)
}
func (m *MockCacheService) Get(ctx context.Context, key string) (interface{}, error) {
args := m.Called(ctx, key)
return args.Get(0), args.Error(1)
}
func (m *MockCacheService) Delete(ctx context.Context, key string) error {
args := m.Called(ctx, key)
return args.Error(0)
}
func (m *MockCacheService) Exists(ctx context.Context, key string) (bool, error) {
args := m.Called(ctx, key)
return args.Bool(0), args.Error(1)
}