diff options
author | Lunny Xiao <xiaolunwen@gmail.com> | 2023-02-20 00:12:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-20 00:12:01 +0800 |
commit | c53ad052d8bd040ecd269d9757ce9885396a04af (patch) | |
tree | 7142da12dc9511445c76d3bf5616f1c220441a84 /routers/install | |
parent | 2b02343e218755c36c6a45da8a53c06dfff843a1 (diff) | |
download | gitea-c53ad052d8bd040ecd269d9757ce9885396a04af.tar.gz gitea-c53ad052d8bd040ecd269d9757ce9885396a04af.zip |
Refactor the setting to make unit test easier (#22405)
Some bugs caused by less unit tests in fundamental packages. This PR
refactor `setting` package so that create a unit test will be easier
than before.
- All `LoadFromXXX` files has been splited as two functions, one is
`InitProviderFromXXX` and `LoadCommonSettings`. The first functions will
only include the code to create or new a ini file. The second function
will load common settings.
- It also renames all functions in setting from `newXXXService` to
`loadXXXSetting` or `loadXXXFrom` to make the function name less
confusing.
- Move `XORMLog` to `SQLLog` because it's a better name for that.
Maybe we should finally move these `loadXXXSetting` into the `XXXInit`
function? Any idea?
---------
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: delvh <dev.lh@web.de>
Diffstat (limited to 'routers/install')
-rw-r--r-- | routers/install/install.go | 4 | ||||
-rw-r--r-- | routers/install/setting.go | 14 |
2 files changed, 10 insertions, 8 deletions
diff --git a/routers/install/install.go b/routers/install/install.go index 34ed5c355b..a3d64e5f73 100644 --- a/routers/install/install.go +++ b/routers/install/install.go @@ -134,7 +134,7 @@ func Install(ctx *context.Context) { form.SSHPort = setting.SSH.Port form.HTTPPort = setting.HTTPPort form.AppURL = setting.AppURL - form.LogRootPath = setting.LogRootPath + form.LogRootPath = setting.Log.RootPath // E-mail service settings if setting.MailService != nil { @@ -467,7 +467,7 @@ func SubmitInstall(ctx *context.Context) { cfg.Section("session").Key("PROVIDER").SetValue("file") cfg.Section("log").Key("MODE").SetValue("console") - cfg.Section("log").Key("LEVEL").SetValue(setting.LogLevel.String()) + cfg.Section("log").Key("LEVEL").SetValue(setting.Log.Level.String()) cfg.Section("log").Key("ROOT_PATH").SetValue(form.LogRootPath) cfg.Section("log").Key("ROUTER").SetValue("console") diff --git a/routers/install/setting.go b/routers/install/setting.go index b76219f45d..68984f1e78 100644 --- a/routers/install/setting.go +++ b/routers/install/setting.go @@ -15,20 +15,21 @@ import ( // PreloadSettings preloads the configuration to check if we need to run install func PreloadSettings(ctx context.Context) bool { - setting.LoadAllowEmpty() + setting.InitProviderAllowEmpty() + setting.LoadCommonSettings() if !setting.InstallLock { log.Info("AppPath: %s", setting.AppPath) log.Info("AppWorkPath: %s", setting.AppWorkPath) log.Info("Custom path: %s", setting.CustomPath) - log.Info("Log path: %s", setting.LogRootPath) + log.Info("Log path: %s", setting.Log.RootPath) log.Info("Configuration file: %s", setting.CustomConf) log.Info("Prepare to run install page") translation.InitLocales(ctx) if setting.EnableSQLite3 { log.Info("SQLite3 is supported") } - setting.InitDBConfig() - setting.NewServicesForInstall() + + setting.LoadSettingsForInstall() svg.Init() } @@ -37,8 +38,9 @@ func PreloadSettings(ctx context.Context) bool { // reloadSettings reloads the existing settings and starts up the database func reloadSettings(ctx context.Context) { - setting.LoadFromExisting() - setting.InitDBConfig() + setting.InitProviderFromExistingFile() + setting.LoadCommonSettings() + setting.LoadDBSetting() if setting.InstallLock { if err := common.InitDBEngine(ctx); err == nil { log.Info("ORM engine initialization successful!") |