mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-30 22:11:07 +00:00 
			
		
		
		
	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>
This commit is contained in:
		
					parent
					
						
							
								2b02343e21
							
						
					
				
			
			
				commit
				
					
						c53ad052d8
					
				
			
		
					 86 changed files with 1694 additions and 1464 deletions
				
			
		|  | @ -12,6 +12,15 @@ import ( | |||
| 	"code.gitea.io/gitea/modules/structs" | ||||
| ) | ||||
| 
 | ||||
| // enumerates all the types of captchas | ||||
| const ( | ||||
| 	ImageCaptcha = "image" | ||||
| 	ReCaptcha    = "recaptcha" | ||||
| 	HCaptcha     = "hcaptcha" | ||||
| 	MCaptcha     = "mcaptcha" | ||||
| 	CfTurnstile  = "cfturnstile" | ||||
| ) | ||||
| 
 | ||||
| // Service settings | ||||
| var Service = struct { | ||||
| 	DefaultUserVisibility                   string | ||||
|  | @ -105,8 +114,8 @@ func (a AllowedVisibility) ToVisibleTypeSlice() (result []structs.VisibleType) { | |||
| 	return result | ||||
| } | ||||
| 
 | ||||
| func newService() { | ||||
| 	sec := Cfg.Section("service") | ||||
| func loadServiceFrom(rootCfg ConfigProvider) { | ||||
| 	sec := rootCfg.Section("service") | ||||
| 	Service.ActiveCodeLives = sec.Key("ACTIVE_CODE_LIVE_MINUTES").MustInt(180) | ||||
| 	Service.ResetPwdCodeLives = sec.Key("RESET_PASSWD_CODE_LIVE_MINUTES").MustInt(180) | ||||
| 	Service.DisableRegistration = sec.Key("DISABLE_REGISTRATION").MustBool() | ||||
|  | @ -184,11 +193,13 @@ func newService() { | |||
| 	} | ||||
| 	Service.ValidSiteURLSchemes = schemes | ||||
| 
 | ||||
| 	if err := Cfg.Section("service.explore").MapTo(&Service.Explore); err != nil { | ||||
| 		log.Fatal("Failed to map service.explore settings: %v", err) | ||||
| 	} | ||||
| 	mustMapSetting(rootCfg, "service.explore", &Service.Explore) | ||||
| 
 | ||||
| 	sec = Cfg.Section("openid") | ||||
| 	loadOpenIDSetting(rootCfg) | ||||
| } | ||||
| 
 | ||||
| func loadOpenIDSetting(rootCfg ConfigProvider) { | ||||
| 	sec := rootCfg.Section("openid") | ||||
| 	Service.EnableOpenIDSignIn = sec.Key("ENABLE_OPENID_SIGNIN").MustBool(!InstallLock) | ||||
| 	Service.EnableOpenIDSignUp = sec.Key("ENABLE_OPENID_SIGNUP").MustBool(!Service.DisableRegistration && Service.EnableOpenIDSignIn) | ||||
| 	pats := sec.Key("WHITELISTED_URIS").Strings(" ") | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue