mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-30 22:42:24 -05:00 
			
		
		
		
	Implement Cobra CLI tooling, Viper config tooling (#336)
* start pulling out + replacing urfave and config * replace many many instances of config * move more stuff => viper * properly remove urfave * move some flags to root command * add testrig commands to root * alias config file keys * start adding cli parsing tests * reorder viper init * remove config path alias * fmt * change config file keys to non-nested * we're more or less in business now * tidy up the common func * go fmt * get tests passing again * add note about the cliparsing tests * reorganize * update docs with changes * structure cmd dir better * rename + move some files around * fix dangling comma
This commit is contained in:
		
					parent
					
						
							
								182b4eea73
							
						
					
				
			
			
				commit
				
					
						0884f89431
					
				
			
		
					 487 changed files with 46667 additions and 8831 deletions
				
			
		|  | @ -27,9 +27,11 @@ import ( | |||
| 	"testing" | ||||
| 
 | ||||
| 	"github.com/gin-gonic/gin" | ||||
| 	"github.com/spf13/viper" | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| 	"github.com/stretchr/testify/suite" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/api/s2s/webfinger" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/config" | ||||
| 	"github.com/superseriousbusiness/gotosocial/internal/processing" | ||||
| 	"github.com/superseriousbusiness/gotosocial/testrig" | ||||
| ) | ||||
|  | @ -42,7 +44,8 @@ func (suite *WebfingerGetTestSuite) TestFingerUser() { | |||
| 	targetAccount := suite.testAccounts["local_account_1"] | ||||
| 
 | ||||
| 	// setup request | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=acct:%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, suite.config.Host) | ||||
| 	host := viper.GetString(config.Keys.Host) | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=acct:%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, host) | ||||
| 
 | ||||
| 	recorder := httptest.NewRecorder() | ||||
| 	ctx, _ := gin.CreateTestContext(recorder) | ||||
|  | @ -63,10 +66,10 @@ func (suite *WebfingerGetTestSuite) TestFingerUser() { | |||
| } | ||||
| 
 | ||||
| func (suite *WebfingerGetTestSuite) TestFingerUserWithDifferentAccountDomainByHost() { | ||||
| 	suite.config.Host = "gts.example.org" | ||||
| 	suite.config.AccountDomain = "example.org" | ||||
| 	suite.processor = processing.NewProcessor(suite.config, suite.tc, suite.federator, testrig.NewTestOauthServer(suite.db), testrig.NewTestMediaHandler(suite.db, suite.storage), suite.storage, testrig.NewTestTimelineManager(suite.db), suite.db, suite.emailSender) | ||||
| 	suite.webfingerModule = webfinger.New(suite.config, suite.processor).(*webfinger.Module) | ||||
| 	viper.Set(config.Keys.Host, "gts.example.org") | ||||
| 	viper.Set(config.Keys.AccountDomain, "example.org") | ||||
| 	suite.processor = processing.NewProcessor(suite.tc, suite.federator, testrig.NewTestOauthServer(suite.db), testrig.NewTestMediaHandler(suite.db, suite.storage), suite.storage, testrig.NewTestTimelineManager(suite.db), suite.db, suite.emailSender) | ||||
| 	suite.webfingerModule = webfinger.New(suite.processor).(*webfinger.Module) | ||||
| 
 | ||||
| 	targetAccount := accountDomainAccount() | ||||
| 	if err := suite.db.Put(context.Background(), targetAccount); err != nil { | ||||
|  | @ -74,7 +77,8 @@ func (suite *WebfingerGetTestSuite) TestFingerUserWithDifferentAccountDomainByHo | |||
| 	} | ||||
| 
 | ||||
| 	// setup request | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=acct:%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, suite.config.Host) | ||||
| 	host := viper.GetString(config.Keys.Host) | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=acct:%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, host) | ||||
| 
 | ||||
| 	recorder := httptest.NewRecorder() | ||||
| 	ctx, _ := gin.CreateTestContext(recorder) | ||||
|  | @ -95,10 +99,10 @@ func (suite *WebfingerGetTestSuite) TestFingerUserWithDifferentAccountDomainByHo | |||
| } | ||||
| 
 | ||||
| func (suite *WebfingerGetTestSuite) TestFingerUserWithDifferentAccountDomainByAccountDomain() { | ||||
| 	suite.config.Host = "gts.example.org" | ||||
| 	suite.config.AccountDomain = "example.org" | ||||
| 	suite.processor = processing.NewProcessor(suite.config, suite.tc, suite.federator, testrig.NewTestOauthServer(suite.db), testrig.NewTestMediaHandler(suite.db, suite.storage), suite.storage, testrig.NewTestTimelineManager(suite.db), suite.db, suite.emailSender) | ||||
| 	suite.webfingerModule = webfinger.New(suite.config, suite.processor).(*webfinger.Module) | ||||
| 	viper.Set(config.Keys.Host, "gts.example.org") | ||||
| 	viper.Set(config.Keys.AccountDomain, "example.org") | ||||
| 	suite.processor = processing.NewProcessor(suite.tc, suite.federator, testrig.NewTestOauthServer(suite.db), testrig.NewTestMediaHandler(suite.db, suite.storage), suite.storage, testrig.NewTestTimelineManager(suite.db), suite.db, suite.emailSender) | ||||
| 	suite.webfingerModule = webfinger.New(suite.processor).(*webfinger.Module) | ||||
| 
 | ||||
| 	targetAccount := accountDomainAccount() | ||||
| 	if err := suite.db.Put(context.Background(), targetAccount); err != nil { | ||||
|  | @ -106,7 +110,8 @@ func (suite *WebfingerGetTestSuite) TestFingerUserWithDifferentAccountDomainByAc | |||
| 	} | ||||
| 
 | ||||
| 	// setup request | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=acct:%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, suite.config.AccountDomain) | ||||
| 	accountDomain := viper.GetString(config.Keys.AccountDomain) | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=acct:%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, accountDomain) | ||||
| 
 | ||||
| 	recorder := httptest.NewRecorder() | ||||
| 	ctx, _ := gin.CreateTestContext(recorder) | ||||
|  | @ -130,7 +135,8 @@ func (suite *WebfingerGetTestSuite) TestFingerUserWithoutAcct() { | |||
| 	targetAccount := suite.testAccounts["local_account_1"] | ||||
| 
 | ||||
| 	// setup request -- leave out the 'acct:' prefix, which is prettymuch what pixelfed currently does | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, suite.config.Host) | ||||
| 	host := viper.GetString(config.Keys.Host) | ||||
| 	requestPath := fmt.Sprintf("/%s?resource=%s@%s", webfinger.WebfingerBasePath, targetAccount.Username, host) | ||||
| 
 | ||||
| 	recorder := httptest.NewRecorder() | ||||
| 	ctx, _ := gin.CreateTestContext(recorder) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue