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:
		
							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 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user