mirror of
https://github.com/go-gitea/gitea.git
synced 2026-04-09 08:27:48 +09:00
`LoadSettingsForInstall` only ran `loadMailerFrom`, not _loadRegisterMailFrom_ or _loadNotifyMailFrom_, so Service.RegisterEmailConfirm and Service.EnableNotifyMail were never read from app.ini on the install page. Full startup runs those through loadMailsFrom; the install path was a narrower subset and never included that step—an oversight from when install-specific loading was added Fixes #37112
71 lines
1.4 KiB
Go
71 lines
1.4 KiB
Go
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package setting
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"code.gitea.io/gitea/modules/test"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func Test_loadMailerFrom(t *testing.T) {
|
|
kases := map[string]*Mailer{
|
|
"smtp.mydomain.test": {
|
|
SMTPAddr: "smtp.mydomain.test",
|
|
SMTPPort: "465",
|
|
},
|
|
"smtp.mydomain.test:123": {
|
|
SMTPAddr: "smtp.mydomain.test",
|
|
SMTPPort: "123",
|
|
},
|
|
":123": {
|
|
SMTPAddr: "127.0.0.1",
|
|
SMTPPort: "123",
|
|
},
|
|
}
|
|
for host, kase := range kases {
|
|
t.Run(host, func(t *testing.T) {
|
|
cfg, _ := NewConfigProviderFromData("")
|
|
sec := cfg.Section("mailer")
|
|
sec.NewKey("ENABLED", "true")
|
|
sec.NewKey("HOST", host)
|
|
|
|
// Check mailer setting
|
|
loadMailerFrom(cfg)
|
|
|
|
assert.Equal(t, kase.SMTPAddr, MailService.SMTPAddr)
|
|
assert.Equal(t, kase.SMTPPort, MailService.SMTPPort)
|
|
})
|
|
}
|
|
}
|
|
|
|
func TestLoadSettingsForInstallMailServiceFlags(t *testing.T) {
|
|
defer test.MockVariableValue(&Service)()
|
|
defer test.MockVariableValue(&MailService)()
|
|
|
|
cfg, err := NewConfigProviderFromData(`
|
|
[database]
|
|
DB_TYPE = postgres
|
|
|
|
[mailer]
|
|
ENABLED = true
|
|
SMTP_ADDR = 127.0.0.1
|
|
SMTP_PORT = 465
|
|
FROM = noreply@example.com
|
|
|
|
[service]
|
|
REGISTER_EMAIL_CONFIRM = true
|
|
ENABLE_NOTIFY_MAIL = true
|
|
`)
|
|
assert.NoError(t, err)
|
|
loadDBSetting(cfg)
|
|
loadServiceFrom(cfg)
|
|
loadMailsFrom(cfg)
|
|
|
|
assert.True(t, Service.RegisterEmailConfirm)
|
|
assert.True(t, Service.EnableNotifyMail)
|
|
}
|