285 lines
9.3 KiB
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)
|
|
}
|