summaryrefslogtreecommitdiffstats
path: root/routers/install
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2023-02-20 00:12:01 +0800
committerGitHub <noreply@github.com>2023-02-20 00:12:01 +0800
commitc53ad052d8bd040ecd269d9757ce9885396a04af (patch)
tree7142da12dc9511445c76d3bf5616f1c220441a84 /routers/install
parent2b02343e218755c36c6a45da8a53c06dfff843a1 (diff)
downloadgitea-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.go4
-rw-r--r--routers/install/setting.go14
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!")