diff --git a/main.go b/main.go index c3dda57..9d46c55 100644 --- a/main.go +++ b/main.go @@ -57,7 +57,10 @@ func setupRouter(cfg gloableConfig) *gin.Engine { if err != nil { log.Fatal().Err(err).Msg("cant init userstore") } - ma := miniauth.NewMiniauth(us) + + sc := smtpclient.NewSMTPClient(cfg.SMTPConfig) + + ma := miniauth.NewMiniauth(us, sc) webServer := web.NewWeb(cfg.WebConfig, ma) webServer.RegisterRoutes(routesWeb) diff --git a/pkg/miniauth/miniauth.go b/pkg/miniauth/miniauth.go index 7879701..f961d07 100644 --- a/pkg/miniauth/miniauth.go +++ b/pkg/miniauth/miniauth.go @@ -18,9 +18,10 @@ type Miniauth struct { smtp smtpclient.SMTPClient } -func NewMiniauth(us userstore.Store) Miniauth { +func NewMiniauth(us userstore.Store, sm smtpclient.SMTPClient) Miniauth { m := Miniauth{} m.store = us + m.smtp = sm return m } diff --git a/pkg/miniauth/miniauth_test.go b/pkg/miniauth/miniauth_test.go index b152368..3c79660 100644 --- a/pkg/miniauth/miniauth_test.go +++ b/pkg/miniauth/miniauth_test.go @@ -172,7 +172,8 @@ func TestInvalideUsernames(t *testing.T) { func getMiniAuth(t *testing.T) Miniauth { us, err := userstore.NewDummyStore() assert.Nil(t, err, "[setup] should be abel to creat dummy store") - m := NewMiniauth(us) - m.smtp = smtpclient.NewDummySMTPClient() + + sc := smtpclient.NewDummySMTPClient() + m := NewMiniauth(us, sc) return m } diff --git a/pkg/smtpclient/smtpclient.go b/pkg/smtpclient/smtpclient.go index 97ca453..9725caa 100644 --- a/pkg/smtpclient/smtpclient.go +++ b/pkg/smtpclient/smtpclient.go @@ -60,6 +60,12 @@ func (s SMTPClient) SendMail(templateName string, to string, data any) error { return nil } +func NewSMTPClient(c SMTPConfig) SMTPClient { + client := SMTPClient{} + client.config = c + return client +} + func NewDummySMTPClient() SMTPClient { s := SMTPClient{} s.config.Server = "test" diff --git a/pkg/web/web_test.go b/pkg/web/web_test.go index 7a50767..eccb3df 100644 --- a/pkg/web/web_test.go +++ b/pkg/web/web_test.go @@ -7,6 +7,7 @@ import ( "testing" "git.keks.cloud/kekskurse/miniauth/pkg/miniauth" + "git.keks.cloud/kekskurse/miniauth/pkg/smtpclient" "git.keks.cloud/kekskurse/miniauth/pkg/userstore" "github.com/gin-gonic/gin" "github.com/stretchr/testify/assert" @@ -18,7 +19,8 @@ func TestRegistrationDisabled(t *testing.T) { us, err := userstore.NewDummyStore() assert.Nil(t, err, "[setup] should be abel to create userstore") - web := NewWeb(webConfig, miniauth.NewMiniauth(us)) + sc := smtpclient.NewDummySMTPClient() + web := NewWeb(webConfig, miniauth.NewMiniauth(us, sc)) router := gin.New() loadTemplates(router) @@ -40,7 +42,8 @@ func TestRegistrationDisabledOnPost(t *testing.T) { us, err := userstore.NewDummyStore() assert.Nil(t, err, "[setup] should be abel to create userstore") - web := NewWeb(webConfig, miniauth.NewMiniauth(us)) + sc := smtpclient.NewDummySMTPClient() + web := NewWeb(webConfig, miniauth.NewMiniauth(us, sc)) router := gin.New() loadTemplates(router)