Files
Gumble-Backend/internal/push/provider/mock_provider.go
Zane Walker 7e940c83a7
Some checks failed
Build & Test / build-test (push) Has been cancelled
Build & Test / swagger-codegen-cli (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
(Feat): Initial Commit
2026-07-03 19:41:31 +05:30

52 lines
1008 B
Go

package provider
import (
"errors"
"allaboutapps.dev/aw/go-starter/internal/push"
"github.com/rs/zerolog/log"
)
type Mock struct {
Type push.ProviderType
}
func NewMock(providerType push.ProviderType) *Mock {
return &Mock{
Type: providerType,
}
}
func (p *Mock) GetProviderType() push.ProviderType {
return p.Type
}
const (
expectedTokenLength = 40
)
func (p *Mock) Send(token string, title string, message string) push.ProviderSendResponse {
valid := true
var err error
if len(token) < expectedTokenLength {
valid = false
err = errors.New("invalid token")
}
if title == "other error" {
err = errors.New("other error")
}
log.Info().Str("token", token).Str("title", title).Str("message", message).Msg("Mock Push Notification")
return push.ProviderSendResponse{
Token: token,
Valid: valid,
Err: err,
}
}
func (p *Mock) SendMulticast(tokens []string, title, message string) []push.ProviderSendResponse {
return sendMulticastWithProvider(p, tokens, title, message)
}