Documentation
¶
Index ¶
- type AutoVerifier
- func (v *AutoVerifier) AutoApproveVerification(ctx context.Context, verificationID string) error
- func (v *AutoVerifier) GetPendingVerifications(ctx context.Context) ([]PendingVerification, error)
- func (v *AutoVerifier) IsSimulatedUser(userID string) bool
- func (v *AutoVerifier) ProcessPendingVerifications(ctx context.Context) error
- func (v *AutoVerifier) RegisterSimulatedUser(userID string)
- func (v *AutoVerifier) RunAutoVerificationLoop(ctx context.Context)
- func (v *AutoVerifier) UnregisterSimulatedUser(userID string)
- type BehaviorInjector
- type PendingVerification
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AutoVerifier ¶
type AutoVerifier struct {
// contains filtered or unexported fields
}
AutoVerifier handles automatic verification for simulated users. It monitors pending verifications and auto-approves them after a delay.
func NewAutoVerifier ¶
func NewAutoVerifier( db *sql.DB, cfg *config.SimulationConfig, met *metrics.SimulationMetrics, ) *AutoVerifier
NewAutoVerifier creates a new auto-verifier.
func (*AutoVerifier) AutoApproveVerification ¶
func (v *AutoVerifier) AutoApproveVerification(ctx context.Context, verificationID string) error
AutoApproveVerification directly approves a verification in the database. This bypasses the normal OTP flow for simulated users.
func (*AutoVerifier) GetPendingVerifications ¶
func (v *AutoVerifier) GetPendingVerifications(ctx context.Context) ([]PendingVerification, error)
GetPendingVerifications retrieves pending verifications for simulated users.
func (*AutoVerifier) IsSimulatedUser ¶
func (v *AutoVerifier) IsSimulatedUser(userID string) bool
IsSimulatedUser checks if a user ID is registered as simulated.
func (*AutoVerifier) ProcessPendingVerifications ¶
func (v *AutoVerifier) ProcessPendingVerifications(ctx context.Context) error
ProcessPendingVerifications processes all pending verifications for simulated users.
func (*AutoVerifier) RegisterSimulatedUser ¶
func (v *AutoVerifier) RegisterSimulatedUser(userID string)
RegisterSimulatedUser marks a user ID as simulated.
func (*AutoVerifier) RunAutoVerificationLoop ¶
func (v *AutoVerifier) RunAutoVerificationLoop(ctx context.Context)
RunAutoVerificationLoop starts a background loop to process verifications.
func (*AutoVerifier) UnregisterSimulatedUser ¶
func (v *AutoVerifier) UnregisterSimulatedUser(userID string)
UnregisterSimulatedUser removes a user ID from the simulated list.
type BehaviorInjector ¶
type BehaviorInjector struct {
// contains filtered or unexported fields
}
BehaviorInjector adds realistic delays and failures to operations.
func NewBehaviorInjector ¶
func NewBehaviorInjector(cfg *config.SimulationConfig) *BehaviorInjector
NewBehaviorInjector creates a new behavior injector.
func (*BehaviorInjector) ApplyDelay ¶
func (b *BehaviorInjector) ApplyDelay(ctx context.Context, operation string) error
ApplyDelay applies configured delay for an operation. Returns error if context is cancelled during delay.
func (*BehaviorInjector) GetDelayDuration ¶
func (b *BehaviorInjector) GetDelayDuration(operation string) time.Duration
GetDelayDuration returns a random delay duration for metrics tracking.
func (*BehaviorInjector) GetFailureError ¶
func (b *BehaviorInjector) GetFailureError(operation string) *errors.Error
GetFailureError returns an appropriate error for a failed operation.
func (*BehaviorInjector) ShouldFail ¶
func (b *BehaviorInjector) ShouldFail(operation string) bool
ShouldFail determines if an operation should fail based on configured rates.