mirror of
https://github.com/go-gitea/gitea
synced 2025-07-22 18:28:37 +00:00
Introduce go chi web framework as frontend of macaron, so that we can move routes from macaron to chi step by step (#7420)
* When route cannot be found on chi, go to macaron * Stick chi version to 1.5.0 * Follow router log setting
This commit is contained in:
@@ -58,8 +58,8 @@ func TestSessionFileCreation(t *testing.T) {
|
||||
oldSessionConfig := setting.SessionConfig.ProviderConfig
|
||||
defer func() {
|
||||
setting.SessionConfig.ProviderConfig = oldSessionConfig
|
||||
mac = routes.NewMacaron()
|
||||
routes.RegisterRoutes(mac)
|
||||
c = routes.NewChi()
|
||||
routes.RegisterRoutes(c)
|
||||
}()
|
||||
|
||||
var config session.Options
|
||||
@@ -83,8 +83,8 @@ func TestSessionFileCreation(t *testing.T) {
|
||||
|
||||
setting.SessionConfig.ProviderConfig = string(newConfigBytes)
|
||||
|
||||
mac = routes.NewMacaron()
|
||||
routes.RegisterRoutes(mac)
|
||||
c = routes.NewChi()
|
||||
routes.RegisterRoutes(c)
|
||||
|
||||
t.Run("NoSessionOnViewIssue", func(t *testing.T) {
|
||||
defer PrintCurrentTest(t)()
|
||||
|
@@ -82,7 +82,7 @@ func onGiteaRun(t *testing.T, callback func(*testing.T, *url.URL), prepare ...bo
|
||||
defer prepareTestEnv(t, 1)()
|
||||
}
|
||||
s := http.Server{
|
||||
Handler: mac,
|
||||
Handler: c,
|
||||
}
|
||||
|
||||
u, err := url.Parse(setting.AppURL)
|
||||
|
@@ -34,13 +34,13 @@ import (
|
||||
"code.gitea.io/gitea/routers"
|
||||
"code.gitea.io/gitea/routers/routes"
|
||||
|
||||
"gitea.com/macaron/macaron"
|
||||
"github.com/PuerkitoBio/goquery"
|
||||
"github.com/go-chi/chi"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/unknwon/com"
|
||||
)
|
||||
|
||||
var mac *macaron.Macaron
|
||||
var c chi.Router
|
||||
|
||||
type NilResponseRecorder struct {
|
||||
httptest.ResponseRecorder
|
||||
@@ -67,8 +67,8 @@ func TestMain(m *testing.M) {
|
||||
defer cancel()
|
||||
|
||||
initIntegrationTest()
|
||||
mac = routes.NewMacaron()
|
||||
routes.RegisterRoutes(mac)
|
||||
c = routes.NewChi()
|
||||
routes.RegisterRoutes(c)
|
||||
|
||||
// integration test settings...
|
||||
if setting.Cfg != nil {
|
||||
@@ -404,7 +404,7 @@ const NoExpectedStatus = -1
|
||||
func MakeRequest(t testing.TB, req *http.Request, expectedStatus int) *httptest.ResponseRecorder {
|
||||
t.Helper()
|
||||
recorder := httptest.NewRecorder()
|
||||
mac.ServeHTTP(recorder, req)
|
||||
c.ServeHTTP(recorder, req)
|
||||
if expectedStatus != NoExpectedStatus {
|
||||
if !assert.EqualValues(t, expectedStatus, recorder.Code,
|
||||
"Request: %s %s", req.Method, req.URL.String()) {
|
||||
@@ -417,7 +417,7 @@ func MakeRequest(t testing.TB, req *http.Request, expectedStatus int) *httptest.
|
||||
func MakeRequestNilResponseRecorder(t testing.TB, req *http.Request, expectedStatus int) *NilResponseRecorder {
|
||||
t.Helper()
|
||||
recorder := NewNilResponseRecorder()
|
||||
mac.ServeHTTP(recorder, req)
|
||||
c.ServeHTTP(recorder, req)
|
||||
if expectedStatus != NoExpectedStatus {
|
||||
if !assert.EqualValues(t, expectedStatus, recorder.Code,
|
||||
"Request: %s %s", req.Method, req.URL.String()) {
|
||||
|
@@ -5,7 +5,9 @@
|
||||
package integrations
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"encoding/json"
|
||||
"io/ioutil"
|
||||
"testing"
|
||||
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
@@ -233,11 +235,21 @@ func TestRefreshTokenInvalidation(t *testing.T) {
|
||||
"redirect_uri": "a",
|
||||
"refresh_token": parsed.RefreshToken,
|
||||
})
|
||||
// tip: Why this changed, because macaron will set req.Body back when consume the req but chi will not.
|
||||
bs, err := ioutil.ReadAll(refreshReq.Body)
|
||||
assert.NoError(t, err)
|
||||
|
||||
refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs))
|
||||
MakeRequest(t, refreshReq, 200)
|
||||
|
||||
refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs))
|
||||
MakeRequest(t, refreshReq, 200)
|
||||
|
||||
// test with invalidation
|
||||
setting.OAuth2.InvalidateRefreshTokens = true
|
||||
refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs))
|
||||
MakeRequest(t, refreshReq, 200)
|
||||
|
||||
refreshReq.Body = ioutil.NopCloser(bytes.NewReader(bs))
|
||||
MakeRequest(t, refreshReq, 400)
|
||||
}
|
||||
|
Reference in New Issue
Block a user