mirror of
				https://github.com/superseriousbusiness/gotosocial.git
				synced 2025-10-31 14:42:26 -05:00 
			
		
		
		
	[feature] Add created_at and error_description to /oauth/token endpoint (#645)
		
	* start fiddling about with oauth server * start returning more helpful errors from oauth * test helpful(ish) token errors * add missing license header
This commit is contained in:
		
					parent
					
						
							
								2385b51d58
							
						
					
				
			
			
				commit
				
					
						694a490589
					
				
			
		
					 14 changed files with 411 additions and 30 deletions
				
			
		|  | @ -19,6 +19,7 @@ | |||
| package auth_test | ||||
| 
 | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"net/http/httptest" | ||||
|  | @ -99,7 +100,7 @@ func (suite *AuthStandardTestSuite) SetupTest() { | |||
| 	if err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
| 	suite.authModule = auth.New(suite.db, suite.oauthServer, suite.idp, suite.processor).(*auth.Module) | ||||
| 	suite.authModule = auth.New(suite.db, suite.idp, suite.processor).(*auth.Module) | ||||
| 	testrig.StandardDBSetup(suite.db, suite.testAccounts) | ||||
| } | ||||
| 
 | ||||
|  | @ -107,7 +108,7 @@ func (suite *AuthStandardTestSuite) TearDownTest() { | |||
| 	testrig.StandardDBTeardown(suite.db) | ||||
| } | ||||
| 
 | ||||
| func (suite *AuthStandardTestSuite) newContext(requestMethod string, requestPath string) (*gin.Context, *httptest.ResponseRecorder) { | ||||
| func (suite *AuthStandardTestSuite) newContext(requestMethod string, requestPath string, requestBody []byte, bodyContentType string) (*gin.Context, *httptest.ResponseRecorder) { | ||||
| 	// create the recorder and gin test context | ||||
| 	recorder := httptest.NewRecorder() | ||||
| 	ctx, engine := gin.CreateTestContext(recorder) | ||||
|  | @ -120,9 +121,14 @@ func (suite *AuthStandardTestSuite) newContext(requestMethod string, requestPath | |||
| 	host := config.GetHost() | ||||
| 	baseURI := fmt.Sprintf("%s://%s", protocol, host) | ||||
| 	requestURI := fmt.Sprintf("%s/%s", baseURI, requestPath) | ||||
| 	ctx.Request = httptest.NewRequest(requestMethod, requestURI, nil) // the endpoint we're hitting | ||||
| 
 | ||||
| 	ctx.Request = httptest.NewRequest(requestMethod, requestURI, bytes.NewReader(requestBody)) // the endpoint we're hitting | ||||
| 	ctx.Request.Header.Set("accept", "text/html") | ||||
| 
 | ||||
| 	if bodyContentType != "" { | ||||
| 		ctx.Request.Header.Set("Content-Type", bodyContentType) | ||||
| 	} | ||||
| 
 | ||||
| 	// trigger the session middleware on the context | ||||
| 	store := memstore.NewStore(make([]byte, 32), make([]byte, 32)) | ||||
| 	store.Options(router.SessionOptions()) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue