mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Check for valid user token in integration tests (#21520)
Added checks for logged user token. Some builds fail at unrelated tests, due to missing token. Example: https://drone.gitea.io/go-gitea/gitea/62011/2/14 Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
This commit is contained in:
		
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							6a0330979f
						
					
				
				
					commit
					ffa4f4b570
				
			@@ -18,6 +18,7 @@ import (
 | 
				
			|||||||
	"os"
 | 
						"os"
 | 
				
			||||||
	"path/filepath"
 | 
						"path/filepath"
 | 
				
			||||||
	"strings"
 | 
						"strings"
 | 
				
			||||||
 | 
						"sync/atomic"
 | 
				
			||||||
	"testing"
 | 
						"testing"
 | 
				
			||||||
	"time"
 | 
						"time"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -263,19 +264,19 @@ var tokenCounter int64
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
func getTokenForLoggedInUser(t testing.TB, session *TestSession) string {
 | 
					func getTokenForLoggedInUser(t testing.TB, session *TestSession) string {
 | 
				
			||||||
	t.Helper()
 | 
						t.Helper()
 | 
				
			||||||
	tokenCounter++
 | 
					 | 
				
			||||||
	req := NewRequest(t, "GET", "/user/settings/applications")
 | 
						req := NewRequest(t, "GET", "/user/settings/applications")
 | 
				
			||||||
	resp := session.MakeRequest(t, req, http.StatusOK)
 | 
						resp := session.MakeRequest(t, req, http.StatusOK)
 | 
				
			||||||
	doc := NewHTMLParser(t, resp.Body)
 | 
						doc := NewHTMLParser(t, resp.Body)
 | 
				
			||||||
	req = NewRequestWithValues(t, "POST", "/user/settings/applications", map[string]string{
 | 
						req = NewRequestWithValues(t, "POST", "/user/settings/applications", map[string]string{
 | 
				
			||||||
		"_csrf": doc.GetCSRF(),
 | 
							"_csrf": doc.GetCSRF(),
 | 
				
			||||||
		"name":  fmt.Sprintf("api-testing-token-%d", tokenCounter),
 | 
							"name":  fmt.Sprintf("api-testing-token-%d", atomic.AddInt64(&tokenCounter, 1)),
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
	session.MakeRequest(t, req, http.StatusSeeOther)
 | 
						session.MakeRequest(t, req, http.StatusSeeOther)
 | 
				
			||||||
	req = NewRequest(t, "GET", "/user/settings/applications")
 | 
						req = NewRequest(t, "GET", "/user/settings/applications")
 | 
				
			||||||
	resp = session.MakeRequest(t, req, http.StatusOK)
 | 
						resp = session.MakeRequest(t, req, http.StatusOK)
 | 
				
			||||||
	htmlDoc := NewHTMLParser(t, resp.Body)
 | 
						htmlDoc := NewHTMLParser(t, resp.Body)
 | 
				
			||||||
	token := htmlDoc.doc.Find(".ui.info p").Text()
 | 
						token := htmlDoc.doc.Find(".ui.info p").Text()
 | 
				
			||||||
 | 
						assert.NotEmpty(t, token)
 | 
				
			||||||
	return token
 | 
						return token
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user