mirror of
https://github.com/fleetdm/fleet
synced 2026-05-23 00:49:03 +00:00
add devMode MailService to speed up testing (#178)
running with the dev flag will print the content of an email to stdout
This commit is contained in:
parent
f46a951da3
commit
a069ec9acf
1 changed files with 24 additions and 2 deletions
26
cli/serve.go
26
cli/serve.go
|
|
@ -46,7 +46,12 @@ the way that the kolide server works.
|
|||
logger = kitlog.NewLogfmtLogger(os.Stderr)
|
||||
logger = kitlog.NewContext(logger).With("ts", kitlog.DefaultTimestampUTC)
|
||||
|
||||
mailSvc := mail.NewService(config.SMTP)
|
||||
var mailService kolide.MailService
|
||||
if devMode {
|
||||
mailService = devMailService{}
|
||||
} else {
|
||||
mailService = mail.NewService(config.SMTP)
|
||||
}
|
||||
|
||||
var ds kolide.Datastore
|
||||
var err error
|
||||
|
|
@ -68,7 +73,7 @@ the way that the kolide server works.
|
|||
}
|
||||
}
|
||||
|
||||
svc, err := server.NewService(ds, logger, config, mailSvc)
|
||||
svc, err := server.NewService(ds, logger, config, mailService)
|
||||
if err != nil {
|
||||
initFatal(err, "initializing service")
|
||||
}
|
||||
|
|
@ -129,6 +134,23 @@ the way that the kolide server works.
|
|||
return serveCmd
|
||||
}
|
||||
|
||||
// used in devMode to print an email
|
||||
// which would otherwise be sent via SMTP
|
||||
type devMailService struct{}
|
||||
|
||||
func (devMailService) SendEmail(e kolide.Email) error {
|
||||
fmt.Println("---dev mode: printing email---")
|
||||
defer fmt.Println("---dev mode: email printed---")
|
||||
msg, err := e.Msg.Message()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
fmt.Printf("From: %q To: %q \n", e.From, e.To)
|
||||
_, err = os.Stdout.Write(msg)
|
||||
return err
|
||||
|
||||
}
|
||||
|
||||
// cors headers
|
||||
func accessControl(h http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue